diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/document-metadata/the-meta-element')
14 files changed, 195 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/.gitkeep b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/.gitkeep diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/contains.json b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/contains.json new file mode 100644 index 000000000..70a454691 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/contains.json @@ -0,0 +1,22 @@ +[ + { + "id": "standard-metadata-names", + "original_id": "standard-metadata-names" + }, + { + "id": "other-metadata-names", + "original_id": "other-metadata-names" + }, + { + "id": "pragma-directives", + "original_id": "pragma-directives" + }, + { + "id": "other-pragma-directives", + "original_id": "other-pragma-directives" + }, + { + "id": "charset", + "original_id": "charset" + } +]
\ No newline at end of file diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html new file mode 100644 index 000000000..cbfc18035 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html @@ -0,0 +1,112 @@ +<!doctype html> +<meta charset=utf-8> +<title>Parsing of meta refresh</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<style> +iframe { display:none } +</style> +<body> +<script> + +// failure to parse is [] +// success to parse is [time, url] where url is unresolved + +var tests_arr = [ + {input: '', expected: []}, + {input: '1', expected: [1, 'refresh.sub.html']}, + {input: '1 ', expected: [1, 'refresh.sub.html']}, + {input: '1\t', expected: [1, 'refresh.sub.html']}, + {input: '1\r', expected: [1, 'refresh.sub.html']}, + {input: '1\n', expected: [1, 'refresh.sub.html']}, + {input: '1\f', expected: [1, 'refresh.sub.html']}, + {input: '1;', expected: [1, 'refresh.sub.html']}, + {input: '1,', expected: [1, 'refresh.sub.html']}, + {input: '1; url=foo', expected: [1, 'foo']}, + {input: '1, url=foo', expected: [1, 'foo']}, + {input: '1 url=foo', expected: [1, 'foo']}, + {input: '1;\turl=foo', expected: [1, 'foo']}, + {input: '1,\turl=foo', expected: [1, 'foo']}, + {input: '1\turl=foo', expected: [1, 'foo']}, + {input: '1;\rurl=foo', expected: [1, 'foo']}, + {input: '1,\rurl=foo', expected: [1, 'foo']}, + {input: '1\rurl=foo', expected: [1, 'foo']}, + {input: '1;\nurl=foo', expected: [1, 'foo']}, + {input: '1,\nurl=foo', expected: [1, 'foo']}, + {input: '1\nurl=foo', expected: [1, 'foo']}, + {input: '1;\furl=foo', expected: [1, 'foo']}, + {input: '1,\furl=foo', expected: [1, 'foo']}, + {input: '1\furl=foo', expected: [1, 'foo']}, + {input: '1url=foo', expected: []}, + {input: '1x;url=foo', expected: []}, + {input: '1 x;url=foo', expected: [1, 'x;url=foo']}, + {input: '1;;url=foo', expected: [1, ';url=foo']}, + {input: ' 1 ; url = foo', expected: [1, 'foo']}, + {input: ' 1 , url = foo', expected: [1, 'foo']}, + {input: ' 1 ; foo', expected: [1, 'foo']}, + {input: ' 1 , foo', expected: [1, 'foo']}, + {input: ' 1 url = foo', expected: [1, 'foo']}, + {input: '1; url=foo ', expected: [1, 'foo']}, + {input: '1; url=f\to\no', expected: [1, 'foo']}, + {input: '1; url="foo"bar', expected: [1, 'foo']}, + {input: '1; url=\'foo\'bar', expected: [1, 'foo']}, + {input: '1; url="foo\'bar', expected: [1, 'foo\'bar']}, + {input: '1; url foo', expected: [1, 'url foo']}, + {input: '1; urlfoo', expected: [1, 'urlfoo']}, + {input: '1; urfoo', expected: [1, 'urfoo']}, + {input: '1; ufoo', expected: [1, 'ufoo']}, + {input: '1; "foo"bar', expected: [1, 'foo']}, + {input: '; foo', expected: []}, + {input: ', foo', expected: []}, + {input: 'foo', expected: []}, + {input: '+1; url=foo', expected: []}, + {input: '-1; url=foo', expected: []}, + {input: '+0; url=foo', expected: []}, + {input: '-0; url=foo', expected: []}, + {input: '0; url=foo', expected: [0, 'foo']}, + {input: '+1; foo', expected: []}, + {input: '-1; foo', expected: []}, + {input: '+0; foo', expected: []}, + {input: '-0; foo', expected: []}, + {input: '0; foo', expected: [0, 'foo']}, + {input: '+1', expected: []}, + {input: '-1', expected: []}, + {input: '+0', expected: []}, + {input: '-0', expected: []}, + {input: '0', expected: [0, 'refresh.sub.html']}, + {input: '1.9; url=foo', expected: [1, 'foo']}, + {input: '1.9..5.; url=foo', expected: [1, 'foo']}, + {input: '.9; url=foo', expected: []}, +]; + +tests_arr.forEach(function(test_obj) { + async_test(function(t) { + var iframe = document.createElement('iframe'); + t.add_cleanup(function() { + document.body.removeChild(iframe); + }); + iframe.src = 'support/refresh.sub.html?input=' + encodeURIComponent(test_obj.input); + document.body.appendChild(iframe); + var loadCount = 0; + iframe.onload = t.step_func(function() { + loadCount++; + var got = iframe.contentDocument.body.textContent.trim(); + if (test_obj.expected.length === 0) { + assert_equals(got, 'refresh.sub.html'); + if (loadCount === 1) { + setTimeout(function() { + t.done(); + }, 3000); // want to make sure it doesn't redirect when it shouldn't + } else { + assert_unreached('Got > 1 load events'); + } + } else { + if (loadCount === 2) { + assert_equals(got, test_obj.expected[1]); + t.done(); + } + } + }); + }, format_value(test_obj.input)); +}); +</script> diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/;url=foo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/;url=foo new file mode 100644 index 000000000..622ff110d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/;url=foo @@ -0,0 +1 @@ +;url=foo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/__dir__.headers b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/__dir__.headers new file mode 100644 index 000000000..156209f9c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/__dir__.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo new file mode 100644 index 000000000..257cc5642 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo @@ -0,0 +1 @@ +foo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo'bar b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo'bar new file mode 100644 index 000000000..80e741087 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo'bar @@ -0,0 +1 @@ +foo'bar diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html new file mode 100644 index 000000000..bc97f29c6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html @@ -0,0 +1 @@ +<!doctype html><meta http-equiv=refresh content="{{GET[input]}}">refresh.sub.html diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/ufoo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/ufoo new file mode 100644 index 000000000..8fff3cf4f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/ufoo @@ -0,0 +1 @@ +ufoo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urfoo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urfoo new file mode 100644 index 000000000..7d7373f4b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urfoo @@ -0,0 +1 @@ +urfoo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/url foo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/url foo new file mode 100644 index 000000000..a1e6a9229 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/url foo @@ -0,0 +1 @@ +url foo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urlfoo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urlfoo new file mode 100644 index 000000000..3e67b2f7c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urlfoo @@ -0,0 +1 @@ +urlfoo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/x;url=foo b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/x;url=foo new file mode 100644 index 000000000..f10371aa7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/x;url=foo @@ -0,0 +1 @@ +x;url=foo diff --git a/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/the-lang-attribute-012.html b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/the-lang-attribute-012.html new file mode 100644 index 000000000..af872d6e3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/document-metadata/the-meta-element/the-lang-attribute-012.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html > +<head> +<meta charset="utf-8"/> + <meta http-equiv="Content-Language" content="ko,zh,ja" > +<title>Multiple languages in Content-Language meta element</title> +<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> +<link rel='help' href='https://html.spec.whatwg.org/multipage/#pragma-directives'> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<meta name='flags' content='dom'> +<style type='text/css'> + #colonlangcontroltest { color: red; font-weight: bold; width: 400px; } + #colonlangcontroltest:lang(xx) { display:none; } +.test div { width: 50px; } + +#box:lang(ko) { width: 100px; } +#box:lang(zh) { width: 100px; } +#box:lang(ja) { width: 100px; } + + /* styling for debugging related notes */ + .notes span:lang(ko) { background-color: #0000FF; color: white; padding: 0 5px; } + .notes span:lang(zh) { background-color: #0000FF; color: white; padding: 0 5px; } + .notes span:lang(ja) { background-color: #0000FF; color: white; padding: 0 5px; } + +</style> +</head> +<body> + + + +<div class="test"><div id="box"> </div></div> +<p lang='xx' id='colonlangcontroltest'>This test failed because it relies on :lang for results, but :lang is not supported by this browser.</p> + + +<!--Notes: + +This test uses :lang to detect whether the language has been set. If :lang is not supported, a message will appear and the test will fail. + +--> +<script> +test(function() { +assert_equals(document.getElementById('colonlangcontroltest').offsetWidth, 0) +assert_equals(document.getElementById('box').offsetWidth, 50); +}, "The UA will not recognize a language declaration in the Content-Language meta element when more than one language is declared."); +</script> + +<div id='log'></div> + +</body> +</html> |