From 51c6f33f64c7e805b789aec9a28f62d09b91a3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BF=B7=E6=B8=A1?= Date: Sat, 30 Mar 2019 20:18:19 +0800 Subject: Avoid search prototype chain (#2019) --- js/event_target_test.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'js/event_target_test.ts') 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); +}); -- cgit v1.2.3