summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html')
-rw-r--r--testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html208
1 files changed, 208 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html b/testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html
new file mode 100644
index 0000000000..09ce3f3b56
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" href="mailto:masonf@chromium.org">
+<link rel=help href="https://open-ui.org/components/popover.research.explainer">
+<link rel=help href="https://html.spec.whatwg.org/multipage/popover.html">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+test(function() {
+ var event = new ToggleEvent("");
+ assert_true(event instanceof window.ToggleEvent);
+}, "the event is an instance of ToggleEvent");
+
+test(function() {
+ var event = new ToggleEvent("");
+ assert_true(event instanceof window.Event);
+}, "the event inherts from Event");
+
+test(function() {
+ assert_throws_js(TypeError, function() {
+ new ToggleEvent();
+ }, 'First argument (type) is required, so was expecting a TypeError.');
+}, 'Missing type argument');
+
+test(function() {
+ var event = new ToggleEvent("test");
+ assert_equals(event.type, "test");
+}, "type argument is string");
+
+test(function() {
+ var event = new ToggleEvent(null);
+ assert_equals(event.type, "null");
+}, "type argument is null");
+
+test(function() {
+ var event = new ToggleEvent(undefined);
+ assert_equals(event.type, "undefined");
+}, "event type set to undefined");
+
+test(function() {
+ var event = new ToggleEvent("test");
+ assert_equals(event.oldState, "");
+}, "oldState has default value of empty string");
+
+test(function() {
+ var event = new ToggleEvent("test");
+ assert_readonly(event, "oldState", "readonly attribute value");
+}, "oldState is readonly");
+
+test(function() {
+ var event = new ToggleEvent("test");
+ assert_equals(event.newState, "");
+}, "newState has default value of empty string");
+
+test(function() {
+ var event = new ToggleEvent("test");
+ assert_readonly(event, "newState", "readonly attribute value");
+}, "newState is readonly");
+
+test(function() {
+ var event = new ToggleEvent("test", null);
+ assert_equals(event.oldState, "");
+ assert_equals(event.newState, "");
+}, "ToggleEventInit argument is null");
+
+test(function() {
+ var event = new ToggleEvent("test", undefined);
+ assert_equals(event.oldState, "");
+ assert_equals(event.newState, "");
+}, "ToggleEventInit argument is undefined");
+
+test(function() {
+ var event = new ToggleEvent("test", {});
+ assert_equals(event.oldState, "");
+ assert_equals(event.newState, "");
+}, "ToggleEventInit argument is empty dictionary");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: "sample"});
+ assert_equals(event.oldState, "sample");
+}, "oldState set to 'sample'");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: undefined});
+ assert_equals(event.oldState, "");
+}, "oldState set to undefined");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: null});
+ assert_equals(event.oldState, "null");
+}, "oldState set to null");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: false});
+ assert_equals(event.oldState, "false");
+}, "oldState set to false");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: true});
+ assert_equals(event.oldState, "true");
+}, "oldState set to true");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: 0.5});
+ assert_equals(event.oldState, "0.5");
+}, "oldState set to a number");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: []});
+ assert_equals(event.oldState, "");
+}, "oldState set to []");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: [1, 2, 3]});
+ assert_equals(event.oldState, "1,2,3");
+}, "oldState set to [1, 2, 3]");
+
+test(function() {
+ var event = new ToggleEvent("test", {oldState: {sample: 0.5}});
+ assert_equals(event.oldState, "[object Object]");
+}, "oldState set to an object");
+
+test(function() {
+ var event = new ToggleEvent("test",
+ {oldState: {valueOf: function () { return 'sample'; }}});
+ assert_equals(event.oldState, "[object Object]");
+}, "oldState set to an object with a valueOf function");
+
+test(function() {
+ var eventInit = {oldState: "sample",newState: "sample2"};
+ var event = new ToggleEvent("test", eventInit);
+ assert_equals(event.oldState, "sample");
+ assert_equals(event.newState, "sample2");
+}, "ToggleEventInit properties set value");
+
+test(function() {
+ var eventInit = {oldState: "open",newState: "closed"};
+ var event = new ToggleEvent("beforetoggle", eventInit);
+ assert_equals(event.oldState, "open");
+ assert_equals(event.newState, "closed");
+}, "ToggleEventInit properties set value 2");
+
+test(function() {
+ var eventInit = {oldState: "closed",newState: "open"};
+ var event = new ToggleEvent("toggle", eventInit);
+ assert_equals(event.oldState, "closed");
+ assert_equals(event.newState, "open");
+}, "ToggleEventInit properties set value 3");
+
+test(function() {
+ var eventInit = {oldState: "open",newState: "open"};
+ var event = new ToggleEvent("beforetoggle", eventInit);
+ assert_equals(event.oldState, "open");
+ assert_equals(event.newState, "open");
+}, "ToggleEventInit properties set value 4");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: "sample"});
+ assert_equals(event.newState, "sample");
+}, "newState set to 'sample'");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: undefined});
+ assert_equals(event.newState, "");
+}, "newState set to undefined");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: null});
+ assert_equals(event.newState, "null");
+}, "newState set to null");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: false});
+ assert_equals(event.newState, "false");
+}, "newState set to false");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: true});
+ assert_equals(event.newState, "true");
+}, "newState set to true");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: 0.5});
+ assert_equals(event.newState, "0.5");
+}, "newState set to a number");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: []});
+ assert_equals(event.newState, "");
+}, "newState set to []");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: [1, 2, 3]});
+ assert_equals(event.newState, "1,2,3");
+}, "newState set to [1, 2, 3]");
+
+test(function() {
+ var event = new ToggleEvent("test", {newState: {sample: 0.5}});
+ assert_equals(event.newState, "[object Object]");
+}, "newState set to an object");
+
+test(function() {
+ var event = new ToggleEvent("test",
+ {newState: {valueOf: function () { return 'sample'; }}});
+ assert_equals(event.newState, "[object Object]");
+}, "newState set to an object with a valueOf function");
+</script>