a6429f8c22
Completely removed the html5lib sanitizer. Fixed the string-handling to work in both Ruby 1.8.x and 1.9.2. There are still, inexplicably, two functional tests that fail. But the rest seems to work quite well.
115 lines
3.3 KiB
Text
Executable file
115 lines
3.3 KiB
Text
Executable file
{"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"}
|
|
|
|
]}
|