Test reflecting URL attributes with empty string values.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS testURLReflection('attribute', 'element') is 'none'
PASS testURLReflection('id', 'element') is 'non-URL'
PASS testURLReflection('action', 'form') is 'URL'
PASS testURLReflection('cite', 'blockquote') is 'URL'
PASS testURLReflection('cite', 'del') is 'URL'
PASS testURLReflection('cite', 'ins') is 'URL'
PASS testURLReflection('cite', 'q') is 'URL'
PASS testURLReflection('data', 'object') is 'URL'
FAIL testURLReflection('formaction', 'button') should be URL. Was none.
FAIL testURLReflection('formaction', 'input') should be URL. Was none.
PASS testURLReflection('href', 'a') is 'URL'
PASS testURLReflection('href', 'area') is 'URL'
PASS testURLReflection('href', 'link') is 'URL'
PASS testURLReflection('href', 'base') is 'URL'
FAIL testURLReflection('icon', 'command') should be URL. Was none.
PASS testURLReflection('manifest', 'html') is 'URL'
PASS testURLReflection('poster', 'video') is 'URL'
PASS testURLReflection('src', 'audio') is 'URL'
PASS testURLReflection('src', 'embed') is 'URL'
PASS testURLReflection('src', 'iframe') is 'URL'
PASS testURLReflection('src', 'img') is 'URL'
PASS testURLReflection('src', 'input') is 'URL'
PASS testURLReflection('src', 'script') is 'URL'
PASS testURLReflection('src', 'source') is 'URL'
PASS testURLReflection('src', 'video') is 'URL'
PASS testURLReflection('longDesc', 'img') is 'URL'
PASS testURLReflection('lowsrc', 'img') is 'URL'
PASS successfullyParsed is true

TEST COMPLETE

