summaryrefslogtreecommitdiff
path: root/js/event_test.ts
diff options
context:
space:
mode:
authorAdam Conrad <422184+acconrad@users.noreply.github.com>2019-01-05 15:02:44 +0000
committerRyan Dahl <ry@tinyclouds.org>2019-01-05 10:02:44 -0500
commitf44322128b1ebb3d3d0db5ab9527ee4cdfbc7942 (patch)
tree4ec076859376986f7b3c9b66406431c068257e43 /js/event_test.ts
parentad01085406bbcb0d0d66eb3e05d4781a3aebee21 (diff)
Add Event web API (#1059)
Diffstat (limited to 'js/event_test.ts')
-rw-r--r--js/event_test.ts70
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);
+});