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.
116 lines
3.5 KiB
Plaintext
Executable file
116 lines
3.5 KiB
Plaintext
Executable file
{"tests": [
|
|
|
|
{"description": "contextmenu points to valid ID earlier",
|
|
"input": "<menu id=a><span contextmenu=a>",
|
|
"fail-if": "id-does-not-exist"},
|
|
|
|
{"description": "contextmenu points to valid ID later",
|
|
"input": "<span contextmenu=a><menu id=a>",
|
|
"fail-if": "id-does-not-exist"},
|
|
|
|
{"description": "contextmenu points to non-existent ID",
|
|
"input": "<span contextmenu=a>",
|
|
"fail-unless": "id-does-not-exist"},
|
|
|
|
{"description": "contextmenu points to ID on non-menu element",
|
|
"input": "<span id=a><span contextmenu=a>",
|
|
"fail-unless": "contextmenu-must-point-to-menu"},
|
|
|
|
{"description": "uppercase contextmenu points to ID on non-menu element",
|
|
"input": "<span id=a><span CONTEXTMENU=a>",
|
|
"fail-unless": "contextmenu-must-point-to-menu"},
|
|
|
|
{"description": "valid ID 'a'",
|
|
"input": "<span contextmenu=a>",
|
|
"fail-if": "invalid-attribute-value"},
|
|
|
|
{"description": "valid ID '1'",
|
|
"input": "<span contextmenu=1>",
|
|
"fail-if": "invalid-attribute-value"},
|
|
|
|
{"description": "wacky but valid ID",
|
|
"input": "<span contextmenu='<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 contextmenu=''>",
|
|
"fail-unless": "attribute-value-can-not-be-blank"},
|
|
|
|
{"description": "invalid ID because of leading space",
|
|
"input": "<span contextmenu=' a'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing space",
|
|
"input": "<span contextmenu='a '>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of space in value",
|
|
"input": "<span contextmenu='a b'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of leading tab",
|
|
"input": "<span contextmenu='\ta'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing tab",
|
|
"input": "<span contextmenu='a\t'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of tab in value",
|
|
"input": "<span contextmenu='a\tb'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of leading LF",
|
|
"input": "<span contextmenu='\na'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing LF",
|
|
"input": "<span contextmenu='a\n'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of LF in value",
|
|
"input": "<span contextmenu='a\nb'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of leading LT",
|
|
"input": "<span contextmenu='\u000Ba'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing LT",
|
|
"input": "<span contextmenu='a\u000B'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of LT in value",
|
|
"input": "<span contextmenu='a\u000Bb'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of leading FF",
|
|
"input": "<span contextmenu='\u000Ca'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing FF",
|
|
"input": "<span contextmenu='a\u000C'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of FF in value",
|
|
"input": "<span contextmenu='a\u000Cb'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of leading CR",
|
|
"input": "<span contextmenu='\ra'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of trailing CR",
|
|
"input": "<span contextmenu='a\r'>",
|
|
"fail-unless": "space-in-id"},
|
|
|
|
{"description": "invalid ID because of CR in value",
|
|
"input": "<span contextmenu='a\rb'>",
|
|
"fail-unless": "space-in-id"}
|
|
|
|
]}
|