summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees')
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html73
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html103
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html88
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html79
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html45
5 files changed, 388 insertions, 0 deletions
diff --git a/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html
new file mode 100644
index 000000000..c8cfeceee
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_08_02_01</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#html-forms">
+<meta name="assert" content="HTML Elements in shadow trees: Form elements and form-associated elements in shadow tree are not accessible using document DOM object's tree accessors">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../../../html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//test form-associated elements
+test(function () {
+ var d = newHTMLDocument();
+
+ var form = d.createElement('form');
+ form.setAttribute('id', 'form_id');
+ d.body.appendChild(form);
+
+ var div = d.createElement('div');
+ d.body.appendChild(div);
+ var s = div.attachShadow({mode: 'open'});
+
+
+ HTML5_FORM_ASSOCIATED_ELEMENTS.forEach(function (tagName) {
+
+ var el = d.createElement(tagName);
+ el.setAttribute('form', 'form_id');
+ el.setAttribute('id', tagName + '_id');
+ s.appendChild(el);
+
+ assert_equals(d.querySelector('#' + tagName + '_id'), null, 'Form-associated element ' + tagName +
+ ' in shadow tree must not be accessible using owner\'s document tree accessors');
+ });
+}, 'A_08_02_01_T01');
+
+
+//test form elements
+test(function () {
+ var d = newHTMLDocument();
+
+ var form = d.createElement('form');
+ d.body.appendChild(form);
+
+ var div = d.createElement('div');
+ form.appendChild(div);
+ s = div.attachShadow({mode: 'open'});
+
+ HTML5_FORM_ASSOCIATED_ELEMENTS.forEach(function (tagName) {
+
+ var el = d.createElement(tagName);
+ el.setAttribute('id', tagName + '_id');
+ s.appendChild(el);
+
+ assert_equals(d.querySelector('#' + tagName + '_id'), null, 'Form element ' + tagName +
+ ' in shadow tree must not be accessible using owner\'s document tree accessors');
+ });
+}, 'A_08_02_01_T02');
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html
new file mode 100644
index 000000000..2d063c06a
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_08_02_02</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#html-forms">
+<meta name="assert" content="HTML Elements in shadow trees: Form elements and form-associated elements in shadow tree must be accessible using shadow tree accessors">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../../../html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+//test form-associated elements
+test(function () {
+ var d = newHTMLDocument();
+
+ var form = d.createElement('form');
+ form.setAttribute('id', 'form_id');
+ d.body.appendChild(form);
+
+ var div = d.createElement('div');
+ d.body.appendChild(div);
+ var s = div.attachShadow({mode: 'open'});
+
+
+ HTML5_FORM_ASSOCIATED_ELEMENTS.forEach(function (tagName) {
+
+ var el = d.createElement(tagName);
+ el.setAttribute('form', 'form_id');
+ el.setAttribute('id', tagName + '_id');
+ s.appendChild(el);
+
+ assert_true(s.querySelector('#' + tagName + '_id') != null, 'Form-associated element ' + tagName +
+ ' in shadow tree must be accessible shadow tree accessors');
+ assert_equals(s.querySelector('#' + tagName + '_id').getAttribute('id'), tagName + '_id',
+ 'Form-associated element ' + tagName + ' in shadow tree must be accessible shadow tree accessors');
+ });
+}, 'A_08_02_02_T01');
+
+
+//test form elements
+test(function () {
+ var d = newHTMLDocument();
+
+ var form = d.createElement('form');
+ d.body.appendChild(form);
+
+ var div = d.createElement('div');
+ form.appendChild(div);
+ var s = div.attachShadow({mode: 'open'});
+
+ HTML5_FORM_ASSOCIATED_ELEMENTS.forEach(function (tagName) {
+
+ var el = d.createElement(tagName);
+ el.setAttribute('id', tagName + '_id');
+ s.appendChild(el);
+
+ assert_true(s.querySelector('#' + tagName + '_id') != null, 'Form-associated element ' + tagName +
+ ' in shadow tree must be accessible shadow tree accessors');
+ assert_equals(s.querySelector('#' + tagName + '_id').getAttribute('id'), tagName + '_id',
+ 'Form element ' + tagName + ' in shadow tree must be accessible shadow tree accessors');
+ });
+}, 'A_08_02_02_T02');
+
+
+//test distributed form elements
+test(function () {
+ var d = newHTMLDocument();
+
+ HTML5_FORM_ASSOCIATED_ELEMENTS.forEach(function (tagName) {
+
+ var form = d.createElement('form');
+ d.body.appendChild(form);
+
+ var div = d.createElement('div');
+ form.appendChild(div);
+
+ var el = d.createElement(tagName);
+ el.setAttribute('id', tagName + '_id');
+ el.setAttribute('slot', tagName + '_slot');
+ div.appendChild(el);
+
+ var s = div.attachShadow({mode: 'open'});
+ s.innerHTML = '<slot name="' + tagName + '_slot"></slot>';
+
+ assert_true(s.querySelector('#' + tagName + '_id') == null, 'Distributed form-associated element ' + tagName +
+ ' in shadow tree must not be accessible shadow tree accessors');
+ });
+}, 'A_08_02_02_T03');
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html
new file mode 100644
index 000000000..0bc92e11d
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_08_02_03</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="https://w3c.github.io/webcomponents/spec/shadow/#inertness-of-html-elements-in-a-shadow-tree">
+<meta name="assert" content="HTML Elements in shadow trees: form should not submit elements in shadow tree">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../../../html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+var A_08_02_03_T01 = async_test('A_08_02_03_T01', { timeout: 5000 });
+
+var checkIframeContent = A_08_02_03_T01.step_func(function () {
+ // remember value to check before cleaning the context (it'll destroy the iframe)
+ var valueToCheck = A_08_02_03_T01.iframe.contentWindow.document.URL;
+ cleanContext(A_08_02_03_T01.ctx);
+
+ assert_true(valueToCheck.indexOf('inp1=value1') > 0,
+ 'html form should submit all of its fields');
+
+ // Form data crossing shadow boundary should not be submitted.
+ // https://github.com/w3c/webcomponents/issues/65
+ assert_equals(valueToCheck.indexOf('inp2=value2'), -1,
+ 'html form should not submit fields in the shadow tree');
+
+ A_08_02_03_T01.done();
+});
+
+
+A_08_02_03_T01.step(function () {
+
+ A_08_02_03_T01.ctx = newContext();
+ var d = newRenderedHTMLDocument(A_08_02_03_T01.ctx);
+
+ //create iframe
+ var iframe = document.createElement('iframe');
+ A_08_02_03_T01.iframe = iframe;
+
+ iframe.src = '../../resources/blank.html';
+ iframe.setAttribute('name', 'targetIframe');
+ d.body.appendChild(iframe);
+
+ // create form
+ var form = d.createElement('form');
+ form.setAttribute('target', 'targetIframe');
+ form.setAttribute('method', 'GET');
+ form.setAttribute('action', '../../resources/blank.html');
+ d.body.appendChild(form);
+
+ // create shadow root
+ var root = d.createElement('div');
+ form.appendChild(root);
+ var s = root.attachShadow({mode: 'open'});
+
+ var input1 = d.createElement('input');
+ input1.setAttribute('type', 'text');
+ input1.setAttribute('name', 'inp1');
+ input1.setAttribute('value', 'value1');
+ form.appendChild(input1);
+
+ var input2 = d.createElement('input');
+ input2.setAttribute('type', 'text');
+ input2.setAttribute('name', 'inp2');
+ input2.setAttribute('value', 'value2');
+ s.appendChild(input2);
+
+ // submit the form
+ form.submit();
+
+ // set timeout to give the iframe time to load content
+ setTimeout(checkIframeContent, 2000);
+});
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html
new file mode 100644
index 000000000..33bdf69d1
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_08_01_01</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#inert-html-elements">
+<meta name="assert" content="HTML Elements in shadow trees: base element must behave as inert, or not part of the document tree">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../../../html/resources/common.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+var A_08_01_01_T01 = async_test('A_08_01_01_T01', { timeout: 5000 });
+
+A_08_01_01_T01.checkIframeContent = A_08_01_01_T01.step_func(function () {
+ //remember value to check before cleaning the context (it'll destroy the iframe)
+ var valueToCheck = A_08_01_01_T01.iframe.contentWindow;
+ cleanContext(A_08_01_01_T01.ctx);
+
+ assert_equals(valueToCheck, null,
+ 'base html element ih a shadow tree must beahve like inert one');
+
+ A_08_01_01_T01.done();
+});
+
+
+A_08_01_01_T01.step(function () {
+
+ A_08_01_01_T01.ctx = newContext();
+ var d = newRenderedHTMLDocument(A_08_01_01_T01.ctx);
+
+ //create iframe
+ var iframe = document.createElement('iframe');
+
+ iframe.src = '../../resources/blank.html';
+ iframe.setAttribute('name', 'targetIframe');
+ d.body.appendChild(iframe);
+
+ A_08_01_01_T01.iframe = iframe;
+
+ // create a link
+ var link = d.createElement('a');
+ link.setAttribute('href', '../../resources/bobs_page.html');
+ link.innerHTML = 'the link';
+ d.body.appendChild(link);
+
+ //create Shadow root
+ var root = d.createElement('div');
+ d.body.appendChild(root);
+ var s = root.attachShadow({mode: 'open'});
+
+ // create base element, set iframe as a target
+ var base = d.createElement('base');
+ base.setAttribute('target', 'targetIframe');
+ s.appendChild(base);
+
+ //click the link
+ link.click();
+
+ //Expected: base should be inert therefore document d
+ // should be reloaded, so iframe context shouldn't be affected
+
+ // set timeout to give the iframe time to load content
+ setTimeout('A_08_01_01_T01.checkIframeContent()', 2000);
+});
+</script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html
new file mode 100644
index 000000000..2263cd612
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_08_01_02</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#inert-html-elements">
+<meta name="assert" content="HTML Elements in shadow trees: link element must behave as inert not as part of the document tree">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../../../html/resources/common.js"></script>
+<script src="../../../resources/shadow-dom-utils.js"></script>
+</head>
+<body>
+<div id="log"></div>
+<script>
+test(unit(function (ctx) {
+
+ var d = newRenderedHTMLDocument(ctx);
+
+ var link = d.createElement('link');
+ link.setAttribute('rel', 'stylesheet');
+
+ //create Shadow root
+ var root = d.createElement('div');
+ d.body.appendChild(root);
+ var s = root.attachShadow({mode: 'open'});
+
+ s.appendChild(link);
+
+ assert_equals(d.styleSheets.length, 0, 'link element must behave as inert not as part of the document tree');
+
+
+}), 'A_08_01_02_T01');
+</script>
+</body>
+</html>