{"tests": [

{"description": "valid ID 'a'",
"input": "<span id=a>",
"fail-if": "invalid-attribute-value"},

{"description": "valid ID '1'",
"input": "<span id=1>",
"fail-if": "invalid-attribute-value"},

{"description": "wacky but valid ID",
"input": "<span id='<html><head><title>a</title></head><body><p>b</p></body></html>'>",
"fail-if": "invalid-attribute-value"},

{"description": "invalid blank ID",
"input": "<span id>",
"fail-unless": "attribute-value-can-not-be-blank"},

{"description": "invalid blank ID with quotes",
"input": "<span id=''>",
"fail-unless": "attribute-value-can-not-be-blank"},

{"description": "invalid ID because of leading space",
"input": "<span id=' a'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing space",
"input": "<span id='a '>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of space in value",
"input": "<span id='a b'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of leading tab",
"input": "<span id='\ta'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing tab",
"input": "<span id='a\t'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of tab in value",
"input": "<span id='a\tb'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of leading LF",
"input": "<span id='\na'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing LF",
"input": "<span id='a\n'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of LF in value",
"input": "<span id='a\nb'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of leading LT",
"input": "<span id='\u000Ba'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing LT",
"input": "<span id='a\u000B'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of LT in value",
"input": "<span id='a\u000Bb'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of leading FF",
"input": "<span id='\u000Ca'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing FF",
"input": "<span id='a\u000C'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of FF in value",
"input": "<span id='a\u000Cb'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of leading CR",
"input": "<span id='\ra'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of trailing CR",
"input": "<span id='a\r'>",
"fail-unless": "space-in-id"},

{"description": "invalid ID because of CR in value",
"input": "<span id='a\rb'>",
"fail-unless": "space-in-id"},

{"description": "duplicate ID values",
"input": "<span id=a><span id=a>",
"fail-unless": "duplicate-id"},

{"description": "duplicate ID values with spaces (weird but true)",
"input": "<span id='a '><span id='a '>",
"fail-unless": "duplicate-id"},

{"description": "not duplicate ID values because spaces don't match",
"input": "<span id=a><span id='a '>",
"fail-if": "duplicate-id"},

{"description": "not duplicate ID values because spaces don't match",
"input": "<span id=' a'><span id='a '>",
"fail-if": "duplicate-id"},

{"description": "not duplicate ID values because case doesn't match",
"input": "<span id=a><span id=A>",
"fail-if": "duplicate-id"}

]}
