| {"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"} |
| |
| ]} |