Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<html>
<meta charset=utf-8 />
<meta name="timeout" content="long">
<title>Event Timing: interactionId-press-key-no-effect.</title>
<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>
<script src=resources/event-timing-test-utils.js></script>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tempus
lacinia nisi, eget tempor orci. Nullam congue pharetra arcu, et consectetur
massa mollis tincidunt. Quisque odio sapien, viverra finibus lectus ac,
consectetur ornare quam. In hac habitasse platea dictumst. Morbi cursus est
odio, non fermentum ligula posuere vitae. Sed ullamcorper convallis rhoncus.
In condimentum neque nec metus hendrerit, et cursus ipsum aliquet.
</p>
</body>
<script>
let observedEntries = [];
let map = new Map();
const events = ['keydown', 'keyup'];
async_test(function (t) {
assert_implements(window.PerformanceEventTiming, 'Event Timing is not supported.');
new PerformanceObserver(t.step_func(entryList => {
observedEntries = observedEntries.concat(entryList.getEntries().filter(filterAndAddToMap(events, map)));
if (observedEntries.length < 2)
return;
events.forEach(e => assert_greater_than(map.get(e), 0, 'Should have a non-trivial interactionId for ' + e + ' event'));
assert_equals(map.get('keydown'), map.get('keyup'), 'The keydown and the keyup should have the same interactionId');
t.done();
})).observe({ type: "event" });
addListenersAndPress(document.body, 't', events);
}, "Event Timing: compare event timing interactionId for key press with no effect.");
</script>