mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
test(chrome): compare checked, selected and focused across both producers
the target enumeration carries none of the three, so they reach a spec through the ax handle alone, and a selector naming one of them resolves against that same reading. the shadow fixture holds the focused control inside its shadow root, where document.activeElement names the mount element and only a producer that descends finds the field.
This commit is contained in:
1 parent
654c0afd90
commit
5404909e12
4 files changed
+50
No files matched your search
@@ -27,9 +27,19 @@
|
||||
<button id="shadow-cancel" disabled>cancel</button>
|
||||
<input id="shadow-amount" type="text" value="10" placeholder="0.00" />
|
||||
<input id="shadow-password" type="password" placeholder="Password" />
|
||||
<input id="shadow-agree" type="checkbox" />
|
||||
<select id="shadow-choice">
|
||||
<option id="shadow-choice-first">first</option>
|
||||
</select>
|
||||
<div id="shadow-plain">plain</div>
|
||||
</div>
|
||||
<div id="shadow-scroller"><div id="shadow-scroller-content"></div></div>`;
|
||||
// document.activeElement names the HOST while focus is inside its shadow
|
||||
// root, so a producer that does not descend reports focus on the mount
|
||||
// element and never on the control, which is what a Compose for Web page
|
||||
// looks like from the outside.
|
||||
root.getElementById("shadow-agree").checked = true;
|
||||
root.getElementById("shadow-save").focus();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -97,6 +97,14 @@
|
||||
<div id="filler"></div>
|
||||
<script id="page-script">
|
||||
document.getElementById("delegating-root").onclick = function () {};
|
||||
// checked and focused are live state: the markup attribute records only
|
||||
// what the page loaded with, and nothing writes focus down at all. Both
|
||||
// producers read them off the element, so the fixture has to hold one of
|
||||
// each or the comparison is false against false over the whole page.
|
||||
// #choice-first is the third: an option a select made current with no
|
||||
// attribute anywhere saying so.
|
||||
document.getElementById("agree").checked = true;
|
||||
document.getElementById("save").focus();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user