summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html')
-rw-r--r--testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html b/testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html
new file mode 100644
index 0000000000..b09e68e1c7
--- /dev/null
+++ b/testing/web-platform/tests/navigation-api/currententrychange-event/constructor.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+test(() => {
+ assert_throws_js(TypeError, () => {
+ new NavigationCurrentEntryChangeEvent("currententrychange");
+ });
+}, "can't bypass required members by omitting the dictionary entirely");
+
+test(() => {
+ assert_throws_js(TypeError, () => {
+ new NavigationCurrentEntryChangeEvent("currententrychange", {
+ navigationType: "push"
+ });
+ });
+}, "from is required");
+
+test(() => {
+ const event = new NavigationCurrentEntryChangeEvent("currententrychange", {
+ navigationType: "replace",
+ from: navigation.currentEntry
+ });
+ assert_equals(event.navigationType, "replace");
+ assert_equals(event.from, navigation.currentEntry);
+}, "all properties are reflected back");
+
+test(t => {
+ const event = new NavigationCurrentEntryChangeEvent("currententrychange", { from: navigation.currentEntry });
+ assert_equals(event.navigationType, null);
+}, "defaults are as expected");
+</script>