summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html
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/html-forms/test-003.html
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/html-forms/test-003.html')
-rw-r--r--testing/web-platform/tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html88
1 files changed, 88 insertions, 0 deletions
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>