This tests the handling of the script.crossOrigin attribute

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

PASS 'crossOrigin' in script is true
PASS script.crossOrigin is null
PASS script.setAttribute('crossorigin', ''); script.crossOrigin is "anonymous"
PASS script.removeAttribute('crossorigin'); script.crossOrigin is null
PASS script.setAttribute('crossorigin', 'foo'); script.crossOrigin is "anonymous"
PASS script.setAttribute('crossorigin', 'ANONYMOUS'); script.crossOrigin is "anonymous"
PASS script.setAttribute('crossorigin', 'use-credentials'); script.crossOrigin is "use-credentials"
PASS script.crossOrigin = ''; script.getAttribute('crossorigin') is ""
PASS script.crossOrigin = 'foo'; script.getAttribute('crossorigin') is "foo"
PASS script.crossOrigin = null; script.hasAttribute('crossorigin') is false
PASS script.crossOrigin = 'ANONYMOUS'; script.getAttribute('crossorigin') is "ANONYMOUS"
PASS script.crossOrigin = 'use-credentials'; script.getAttribute('crossorigin') is "use-credentials"
PASS successfullyParsed is true

TEST COMPLETE

