| products/Sources/formale Sprachen/C/Firefox/testing/web-platform/tests/cookies/value/value.html |
 |
<! doctype html>
< html>
< head>
< meta charset=utf- 8>
< title>Test cookie value parsing</ title>
< meta name=help href= "https://tools.ietf.org/html/rfc6265#section-5.2">
< meta name= "timeout" content= "long">
< script src= "/resources/testharness.js"></ script>
< script src= "/resources/testharnessreport.js"></ script>
< script src= "/resources/testdriver.js"></ script>
< script src= "/resources/testdriver-vendor.js"></ script>
< script src= "/cookies/resources/cookie-test.js"></ script>
</ head>
< body>
< div id=log></ div>
< script>
// TODO: there is more to test here, these tests capture the old
// ported http-state tests. Feel free to delete this comment when more
// are added, or these are split up into logical groups.
const valueTests = [
{
cookie: "test=1, baz=qux",
expected: "test=1, baz=qux",
name: "Set value containing a comma",
},
{
cookie: 'test="2, baz=qux"',
expected: 'test="2, baz=qux"',
name: "Set quoted value containing a comma",
},
{
cookie: 'test="3zz;pp" ; ;',
expected: 'test="3zz',
name: "Ignore values after semicolon",
},
{
cookie: 'test="4zz ;',
expected: 'test="4zz',
name: "Ignore whitespace at the end of value",
},
{
cookie: 'test="5zzz " "ppp" ;',
expected: 'test="5zzz " "ppp"',
name: "Set value including quotes and whitespace up until semicolon",
},
{
cookie: 'test=6A"B ;',
expected: 'test=6A"B',
name: "Set value with a single quote excluding whitespace"
},
{
cookie: "test7",
expected: "test7",
name: "Set nameless cookie to its value",
},
{
cookie: '"test8\"HHH"',
expected: '"test8\"HHH"',
name: "Set nameless cookie to its value with an escaped quote",
},
{
cookie: 'test="9',
expected: 'test="9',
name: "Set value with unbalanced leading quote",
},
{
cookie: "=test10",
expected: "test10",
name: "Set nameless cookie followed by '=' to its value",
},
{
// 4 + 2 + 4090 = 4096
cookie: `test= 11${ "a".repeat( 4090)}`,
expected: `test= 11${ "a".repeat( 4090)}`,
name: "Set cookie with large name + value ( = 4kb)",
},
{
// 4 + 2 + 4091 = 4097
cookie: `test= 12${ "a".repeat( 4091)}`,
expected: "",
name: "Ignore cookie with large name + value ( > 4kb)",
},
{
cookie: `test= 13\nZYX`,
expected: "test=13",
name: "Set cookie but ignore value after LF",
},
{
cookie: 'test="14 " ;',
expected: 'test="14 "',
name: "Set cookie ignoring whitespace after value endquote",
},
{
cookie: "test=15 ;",
expected: "test=15",
name: "Ignore whitespace and ; after value",
},
{
cookie: "test= 16",
expected: "test=16",
name: "Ignore whitespace preceding value",
},
{
cookie: 'test="17"',
expected: 'test="17"',
name: "Set cookie with quotes in value",
},
{
cookie: 'test=" 18 "',
expected: 'test=" 18 "',
name: "Set cookie keeping whitespace inside quoted value",
},
{
cookie: 'test="19;wow"',
expected: 'test="19',
name: "Set cookie value ignoring characters after semicolon",
},
{
cookie: 'test="20=20"',
expected: 'test="20=20"',
name: "Set cookie with another = inside quoted value",
},
{
cookie: "test = 21 ; ttt",
expected: "test=21",
name: "Set cookie ignoring whitespace surrounding value and characters after first semicolon",
},
{
cookie: [ "testA=22", "test22=", "testB=22"],
expected: "testA=22; test22=; testB=22",
name: "Set valueless cookie, given `Set-Cookie: test22=`",
},
{
cookie: "test=%32%33",
expected: "test=%32%33",
name: "URL-encoded cookie value is not decoded",
},
{
cookie: "test24==",
expected: "test24==",
name: "Set cookie with value set to =",
},
{
cookie: 'test=25=25',
expected: 'test=25=25',
name: "Set cookie with one = inside an unquoted value",
},
{
cookie: 'test=26=26=26',
expected: 'test=26=26=26',
name: "Set cookie with two = inside an unquoted value",
},
{
cookie: 'test=27 test',
expected: 'test=27 test',
name: "Set cookie with a space character in the value",
},
{
cookie: ' test test28 ;',
expected: 'test test28',
name: "Set a nameless cookie with a space character in the value",
},
];
for (const test of valueTests) {
httpCookieTest(test.cookie, test.expected, test.name, test.defaultPath);
}
</ script>
</ body>
</ html>
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland
|
|