structured-field-values
Version:
Implementation of Structured Field Values from IETF httpbis RFC8941
187 lines (186 loc) • 4.48 kB
JSON
[
{
"name": "basic integer",
"raw": ["42"],
"header_type": "item",
"expected": [42, []]
},
{
"name": "zero integer",
"raw": ["0"],
"header_type": "item",
"expected": [0, []]
},
{
"name": "negative zero",
"raw": ["-0"],
"header_type": "item",
"expected": [0, []],
"canonical": ["0"]
},
{
"name": "double negative zero",
"raw": ["--0"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative integer",
"raw": ["-42"],
"header_type": "item",
"expected": [-42, []]
},
{
"name": "leading 0 integer",
"raw": ["042"],
"header_type": "item",
"expected": [42, []],
"canonical": ["42"]
},
{
"name": "leading 0 negative integer",
"raw": ["-042"],
"header_type": "item",
"expected": [-42, []],
"canonical": ["-42"]
},
{
"name": "leading 0 zero",
"raw": ["00"],
"header_type": "item",
"expected": [0, []],
"canonical": ["0"]
},
{
"name": "comma",
"raw": ["2,3"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative non-DIGIT first character",
"raw": ["-a23"],
"header_type": "item",
"must_fail": true
},
{
"name": "sign out of place",
"raw": ["4-2"],
"header_type": "item",
"must_fail": true
},
{
"name": "whitespace after sign",
"raw": ["- 42"],
"header_type": "item",
"must_fail": true
},
{
"name": "long integer",
"raw": ["123456789012345"],
"header_type": "item",
"expected": [123456789012345, []]
},
{
"name": "long negative integer",
"raw": ["-123456789012345"],
"header_type": "item",
"expected": [-123456789012345, []]
},
{
"name": "too long integer",
"raw": ["1234567890123456"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative too long integer",
"raw": ["-1234567890123456"],
"header_type": "item",
"must_fail": true
},
{
"name": "simple decimal",
"raw": ["1.23"],
"header_type": "item",
"expected": [1.23, []]
},
{
"name": "negative decimal",
"raw": ["-1.23"],
"header_type": "item",
"expected": [-1.23, []]
},
{
"name": "decimal, whitespace after decimal",
"raw": ["1. 23"],
"header_type": "item",
"must_fail": true
},
{
"name": "decimal, whitespace before decimal",
"raw": ["1 .23"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative decimal, whitespace after sign",
"raw": ["- 1.23"],
"header_type": "item",
"must_fail": true
},
{
"name": "tricky precision decimal",
"raw": ["123456789012.1"],
"header_type": "item",
"expected": [123456789012.1, []]
},
{
"name": "double decimal decimal",
"raw": ["1.5.4"],
"header_type": "item",
"must_fail": true
},
{
"name": "adjacent double decimal decimal",
"raw": ["1..4"],
"header_type": "item",
"must_fail": true
},
{
"name": "decimal with three fractional digits",
"raw": ["1.123"],
"header_type": "item",
"expected": [1.123, []]
},
{
"name": "negative decimal with three fractional digits",
"raw": ["-1.123"],
"header_type": "item",
"expected": [-1.123, []]
},
{
"name": "decimal with four fractional digits",
"raw": ["1.1234"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative decimal with four fractional digits",
"raw": ["-1.1234"],
"header_type": "item",
"must_fail": true
},
{
"name": "decimal with thirteen integer digits",
"raw": ["1234567890123.0"],
"header_type": "item",
"must_fail": true
},
{
"name": "negative decimal with thirteen integer digits",
"raw": ["-1234567890123.0"],
"header_type": "item",
"must_fail": true
}
]