summaryrefslogtreecommitdiff
path: root/js/event_target_test.ts
diff options
context:
space:
mode:
author迷渡 <justjavac@gmail.com>2019-03-30 20:18:19 +0800
committerRyan Dahl <ry@tinyclouds.org>2019-03-30 08:18:19 -0400
commit51c6f33f64c7e805b789aec9a28f62d09b91a3a4 (patch)
tree59baf18ebc0b997f340ae2e6e32b7e802adc88d7 /js/event_target_test.ts
parent3d6c033369a75b7eea7b4fa6be36696b613b1606 (diff)
Avoid search prototype chain (#2019)
Diffstat (limited to 'js/event_target_test.ts')
-rw-r--r--js/event_target_test.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/event_target_test.ts b/js/event_target_test.ts
index bad3828a1..c1c9bb1f4 100644
--- a/js/event_target_test.ts
+++ b/js/event_target_test.ts
@@ -64,3 +64,26 @@ test(function removingNullEventListenerShouldSucceed() {
assertEquals(document.removeEventListener("x", null, true), undefined);
assertEquals(document.removeEventListener("x", null), undefined);
});
+
+test(function constructedEventTargetUseObjectPrototype() {
+ const target = new EventTarget();
+ const event = new Event("toString", { bubbles: true, cancelable: false });
+ let callCount = 0;
+
+ function listener(e): void {
+ assertEquals(e, event);
+ ++callCount;
+ }
+
+ target.addEventListener("toString", listener);
+
+ target.dispatchEvent(event);
+ assertEquals(callCount, 1);
+
+ target.dispatchEvent(event);
+ assertEquals(callCount, 2);
+
+ target.removeEventListener("toString", listener);
+ target.dispatchEvent(event);
+ assertEquals(callCount, 2);
+});