diff options
author | Adam Conrad <422184+acconrad@users.noreply.github.com> | 2019-01-05 15:02:44 +0000 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-01-05 10:02:44 -0500 |
commit | f44322128b1ebb3d3d0db5ab9527ee4cdfbc7942 (patch) | |
tree | 4ec076859376986f7b3c9b66406431c068257e43 /js/event_test.ts | |
parent | ad01085406bbcb0d0d66eb3e05d4781a3aebee21 (diff) |
Add Event web API (#1059)
Diffstat (limited to 'js/event_test.ts')
-rw-r--r-- | js/event_test.ts | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/js/event_test.ts b/js/event_test.ts new file mode 100644 index 000000000..3a1254956 --- /dev/null +++ b/js/event_test.ts @@ -0,0 +1,70 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. +import { test, assertEqual } from "./test_util.ts"; + +test(function eventInitializedWithType() { + const type = "click"; + const event = new Event(type); + + assertEqual(event.isTrusted, false); + assertEqual(event.target, null); + assertEqual(event.currentTarget, null); + assertEqual(event.type, "click"); + assertEqual(event.bubbles, false); + assertEqual(event.cancelable, false); +}); + +test(function eventInitializedWithTypeAndDict() { + const init = "submit"; + const eventInitDict = new EventInit({ bubbles: true, cancelable: true }); + const event = new Event(init, eventInitDict); + + assertEqual(event.isTrusted, false); + assertEqual(event.target, null); + assertEqual(event.currentTarget, null); + assertEqual(event.type, "submit"); + assertEqual(event.bubbles, true); + assertEqual(event.cancelable, true); +}); + +test(function eventComposedPathSuccess() { + const type = "click"; + const event = new Event(type); + const composedPath = event.composedPath(); + + assertEqual(composedPath, []); +}); + +test(function eventStopPropagationSuccess() { + const type = "click"; + const event = new Event(type); + + assertEqual(event.cancelBubble, false); + event.stopPropagation(); + assertEqual(event.cancelBubble, true); +}); + +test(function eventStopImmediatePropagationSuccess() { + const type = "click"; + const event = new Event(type); + + assertEqual(event.cancelBubble, false); + assertEqual(event.cancelBubbleImmediately, false); + event.stopImmediatePropagation(); + assertEqual(event.cancelBubble, true); + assertEqual(event.cancelBubbleImmediately, true); +}); + +test(function eventPreventDefaultSuccess() { + const type = "click"; + const event = new Event(type); + + assertEqual(event.defaultPrevented, false); + event.preventDefault(); + assertEqual(event.defaultPrevented, false); + + const eventInitDict = new EventInit({ bubbles: true, cancelable: true }); + const cancelableEvent = new Event(type, eventInitDict); + assertEqual(cancelableEvent.defaultPrevented, false); + cancelableEvent.preventDefault(); + assertEqual(cancelableEvent.defaultPrevented, true); +}); |