Test setting the href attribute of an HTMLAnchorElement to a URL with leading and trailing whitespace.

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


Set href that starts with a space
PASS a.hostname is 'www.mydomain.com'
Set href that starts with a newline
PASS a.hostname is 'www.mydomain.com'
Set href that starts with a tab
PASS a.hostname is 'www.mydomain.com'
Set href that starts with a carriage return
PASS a.hostname is 'www.mydomain.com'
Set href that starts with a combination of newlines, spaces and tabs
PASS a.hostname is 'www.mydomain.com'
Set href that ends with a space
PASS a.hostname is 'www.mydomain.com'
Set href that ends with a newline
PASS a.hostname is 'www.mydomain.com'
Set href that ends with a tab
PASS a.hostname is 'www.mydomain.com'
Set href that ends with a carriage return
PASS a.hostname is 'www.mydomain.com'
Set href that ends with a combination of newlines, spaces and tabs
PASS a.hostname is 'www.mydomain.com'
Set href that starts and ends with a combination of newlines, spaces and tabs
PASS a.hostname is 'www.mydomain.com'
PASS successfullyParsed is true

TEST COMPLETE

