deno.land / std@0.166.0 / node / _tools / test / parallel / test-whatwg-events-add-event-listener-options-passive.js

test-whatwg-events-add-event-listener-options-passive.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
const common = require('../common');
// Manually converted from https://github.com/web-platform-tests/wpt/blob/master/dom/events/AddEventListenerOptions-passive.html// in order to define the `document` ourselves
const { fail, ok, strictEqual} = require('assert');
{ const document = new EventTarget(); let supportsPassive = false; const query_options = { get passive() { supportsPassive = true; return false; }, get dummy() { fail('dummy value getter invoked'); return false; } };
document.addEventListener('test_event', null, query_options); ok(supportsPassive);
supportsPassive = false; document.removeEventListener('test_event', null, query_options); strictEqual(supportsPassive, false);}{ function testPassiveValue(optionsValue, expectedDefaultPrevented) { const document = new EventTarget(); let defaultPrevented; function handler(e) { if (e.defaultPrevented) { fail('Event prematurely marked defaultPrevented'); } e.preventDefault(); defaultPrevented = e.defaultPrevented; } document.addEventListener('test', handler, optionsValue); // TODO the WHATWG test is more extensive here and tests dispatching on // document.body, if we ever support getParent we should amend this const ev = new Event('test', { bubbles: true, cancelable: true }); const uncanceled = document.dispatchEvent(ev);
strictEqual(defaultPrevented, expectedDefaultPrevented); strictEqual(uncanceled, !expectedDefaultPrevented);
document.removeEventListener('test', handler, optionsValue); } testPassiveValue(undefined, true); testPassiveValue({}, true); testPassiveValue({ passive: false }, true);
common.skip('TODO: passive listeners is still broken'); testPassiveValue({ passive: 1 }, false); testPassiveValue({ passive: true }, false); testPassiveValue({ passive: 0 }, true);}
std

Version Info

Tagged at
a year ago