Commit e03565a0 authored by Lan Wei's avatar Lan Wei Committed by Commit Bot

Simulate user inputs in css/selectors/focus-visible-012.html

Use testdriver Action API to simulate key actions in
css/selectors/focus-visible-012.html.

Bug: 1145677
Change-Id: I14a5362801ac407ad6129d02feb7003960485cf9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2551229
Commit-Queue: Lan Wei <lanwei@chromium.org>
Reviewed-by: default avatarMustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#831148}
parent d83d706d
......@@ -7,6 +7,9 @@
<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<style>
:focus-visible {
outline: 0;
......@@ -48,9 +51,14 @@
t.done();
}));
window.setTimeout(t.step_func_done(()=> {
t.step_timeout(() => {
assert_true(false, "timeout");
}), 1000);
}, 1000);
const ctrl_key = '\uE009';
test_driver.click(el).then(() => {
return test_driver.send_keys(el, ctrl_key);
});
</script>
</body>
......
......@@ -101,6 +101,7 @@
for(var i = 0; i < keys.length; ++i) {
let eventSenderKeys = keys[i];
let charCode = keys.charCodeAt(i);
let modifierValue;
// See https://w3c.github.io/webdriver/#keyboard-actions and
// EventSender::KeyDown().
if (charCode == 0xE004) {
......@@ -117,11 +118,24 @@
eventSenderKeys = "ArrowDown";
} else if (charCode == 0xE00C) {
eventSenderKeys = "Escape";
} else if (charCode == 0xE009) {
eventSenderKeys = "ControlLeft";
modifierValue = "ctrlKey";
} else if (charCode == 0xE00A) {
eventSenderKeys = "AltLeft";
modifierValue = "altKey";
} else if (charCode == 0xE03D) {
eventSenderKeys = "MetaLeft";
modifierValue = "metaKey";
} else if (charCode == 0xE008) {
eventSenderKeys = "ShiftLeft";
modifierValue = "shiftKey";
} else if (charCode >= 0xE000 && charCode <= 0xF8FF) {
reject(new Error("No support for this code: U+" + charCode.toString(16)));
return;
}
window.eventSender.keyDown(eventSenderKeys);
window.eventSender.keyDown(eventSenderKeys, modifierValue);
}
resolve();
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment