1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="help" href="https://html.spec.whatwg.org/#cors-settings-attribute">
<link rel="help" href="https://html.spec.whatwg.org/#enumerated-attribute">
<meta name="assert" content="@crossorigin values are ASCII case-insensitive">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<img crossorigin="use-credentials">
<img crossorigin="UsE-cReDenTiAlS">
<img crossorigin="uſe-credentialſ">
<img crossorigin="anonymous">
<img crossorigin="AnOnYmOuS">
<img crossorigin="anonymouſ">
<script>
const img = document.querySelectorAll("img");
test(() => {
assert_equals(img[0].crossOrigin, "use-credentials", "lowercase valid");
assert_equals(img[1].crossOrigin, "use-credentials", "mixed case valid");
assert_equals(img[2].crossOrigin, "anonymous", "non-ASCII invalid");
}, "keyword use-credentials");
test(() => {
assert_equals(img[3].crossOrigin, "anonymous", "lowercase valid");
// vacuous: the invalid value default is currently anonymous, so even if the
// UA treats this as invalid, the observable behaviour would still be correct
assert_equals(img[4].crossOrigin, "anonymous", "mixed case valid");
// vacuous: the invalid value default is currently anonymous, so even if the
// UA treats this as valid, the observable behaviour would still be correct
assert_equals(img[5].crossOrigin, "anonymous", "non-ASCII invalid");
}, "keyword anonymous");
</script>
|