{"tests": [

{"description": "invalid link rel value 'foo'",
"input": "<link rel=foo>",
"fail-unless": "invalid-rel"},

{"description": "valid link rel value 'alternate stylesheet'",
"input": "<link rel='alternate stylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading space",
"input": "<link rel=' stylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing space",
"input": "<link rel='stylesheet '>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing space",
"input": "<link rel=' stylesheet '>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading tab",
"input": "<link rel='\tstylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing tab",
"input": "<link rel='stylesheet\t'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing tab",
"input": "<link rel='\tstylesheet\t'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading LF",
"input": "<link rel='\nstylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing LF",
"input": "<link rel='stylesheet\n'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing LF",
"input": "<link rel='\nstylesheet\n'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading LT",
"input": "<link rel='\u000Bstylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing LT",
"input": "<link rel='stylesheet\u000B'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing LT",
"input": "<link rel='\u000Bstylesheet\u000B'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading FF",
"input": "<link rel='\u000Cstylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing FF",
"input": "<link rel='stylesheet\u000C'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing FF",
"input": "<link rel='\u000Cstylesheet\u000C'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading CR",
"input": "<link rel='\rstylesheet'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with trailing CR",
"input": "<link rel='stylesheet\r'>",
"fail-if": "invalid-rel"},

{"description": "valid single link rel value with leading and trailing CR",
"input": "<link rel='\rstylesheet\r'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by space",
"input": "<link rel='stylesheet alternate'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by tab",
"input": "<link rel='stylesheet\talternate'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by LF",
"input": "<link rel='stylesheet\nalternate'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by LT",
"input": "<link rel='stylesheet\u000Balternate'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by FF",
"input": "<link rel='stylesheet\u000Calternate'>",
"fail-if": "invalid-rel"},

{"description": "valid double link rel value separated by CR",
"input": "<link rel='stylesheet\ralternate'>",
"fail-if": "invalid-rel"},

{"description": "invalid duplicated link rel value separated by space",
"input": "<link rel='stylesheet stylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by tab",
"input": "<link rel='stylesheet\tstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by LF",
"input": "<link rel='stylesheet\nstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by LT",
"input": "<link rel='stylesheet\u000Bstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by FF",
"input": "<link rel='stylesheet\u000Cstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by CR",
"input": "<link rel='stylesheet\rstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by space",
"input": "<link rel='stylesheet stylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by tab",
"input": "<link rel='stylesheet\tstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by LF",
"input": "<link rel='stylesheet\nstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by LT",
"input": "<link rel='stylesheet\u000Bstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by FF",
"input": "<link rel='stylesheet\u000Cstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "invalid duplicated link rel value separated by CR",
"input": "<link rel='stylesheet\rstylesheet'>",
"fail-unless": "duplicate-value-in-token-list"},

{"description": "valid link rel value 'feed'",
"input": "<link rel=feed>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'help'",
"input": "<link rel=help>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'tag'",
"input": "<link rel=tag>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'sidebar'",
"input": "<link rel=sidebar>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'archive'",
"input": "<link rel=archive>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'contents'",
"input": "<link rel=contents>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'previous'",
"input": "<link rel=previous>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'index'",
"input": "<link rel=index>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'end'",
"input": "<link rel=end>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'copyright'",
"input": "<link rel=copyright>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'author'",
"input": "<link rel=author>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'top'",
"input": "<link rel=top>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'alternate'",
"input": "<link rel=alternate>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'next'",
"input": "<link rel=next>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'start'",
"input": "<link rel=start>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'stylesheet'",
"input": "<link rel=stylesheet>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'archives'",
"input": "<link rel=archives>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'toc'",
"input": "<link rel=toc>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'prev'",
"input": "<link rel=prev>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'begin'",
"input": "<link rel=begin>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'icon'",
"input": "<link rel=icon>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'search'",
"input": "<link rel=search>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'last'",
"input": "<link rel=last>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'license'",
"input": "<link rel=license>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'pingback'",
"input": "<link rel=pingback>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'up'",
"input": "<link rel=up>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'contact'",
"input": "<link rel=contact>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'prefetch'",
"input": "<link rel=prefetch>",
"fail-if": "invalid-rel"},

{"description": "valid link rel value 'first'",
"input": "<link rel=first>",
"fail-if": "invalid-rel"}

]}
