Implement dirname for form submit and directionality for element

This commit is contained in:
Dmitry Kolupaev 2020-01-28 10:34:10 +03:00
parent 6bc4a7df24
commit ef49f2e0eb
14 changed files with 178 additions and 19 deletions

View file

@ -1,5 +0,0 @@
[dirname-ltr.html]
type: testharness
[submit element directionality]
expected: FAIL

View file

@ -20,10 +20,12 @@
}
var t = async_test("submit element directionality");
document.querySelector("input").value="foobar";
document.querySelector("button").click();
setTimeout(function() {
document.querySelector("input").value="foobar";
document.querySelector("button").click();
document.querySelector("iframe").onload = t.step_func_done(function() {
assert_equals(getParameterByName("comment.dir"), "ltr");
});
document.querySelector("iframe").onload = t.step_func_done(function() {
assert_equals(getParameterByName("comment.dir"), "ltr");
});
}, 3000);
</script>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Submitting element directionality: the dirname attribute</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
<link rel=help href="https://html.spec.whatwg.org/multipage/#submitting-element-directionality:-the-dirname-attribute">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<form action="dirname-ltr-iframe.html" method=get target="iframe">
<p><label>Comment: <input type=text id="comment-input" name="comment" dirname="comment.dir" required/></label></p>
<p><button type=submit>Post Comment</button></p>
</form>
<iframe name="iframe"></iframe>
<script>
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(document.querySelector("iframe").contentWindow.location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var t = async_test("submit element directionality");
setTimeout(3000, function() {
var rtlValue = "مرحبا";
document.querySelector("input").value = rtlValue;
document.querySelector("button").click();
document.querySelector("iframe").onload = t.step_func_done(function() {
assert_equals(getParameterByName("comment.dir"), "rtl");
});
}, 3000);
</script>