diff options
Diffstat (limited to 'testing/web-platform/tests/webidl/ecmascript-binding/default-iterator-object.html')
-rw-r--r-- | testing/web-platform/tests/webidl/ecmascript-binding/default-iterator-object.html | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webidl/ecmascript-binding/default-iterator-object.html b/testing/web-platform/tests/webidl/ecmascript-binding/default-iterator-object.html new file mode 100644 index 0000000000..c7e9188521 --- /dev/null +++ b/testing/web-platform/tests/webidl/ecmascript-binding/default-iterator-object.html @@ -0,0 +1,27 @@ +<!doctype html> +<meta charset="utf-8"> +<title>Default iterator objects</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(() => { + const iterator1 = new URLSearchParams()[Symbol.iterator](); + const iterator2 = new URLSearchParams().keys(); + const iterator3 = new URLSearchParams().values(); + const iterator4 = new URLSearchParams().entries(); + assert_equals(Object.getPrototypeOf(iterator1), Object.getPrototypeOf(iterator2)); + assert_equals(Object.getPrototypeOf(iterator1), Object.getPrototypeOf(iterator3)); + assert_equals(Object.getPrototypeOf(iterator1), Object.getPrototypeOf(iterator4)); +}, "Default iterator objects for an interface have the same prototype"); + +test(() => { + const iterator = new URLSearchParams().entries(); + assert_equals(Object.prototype.toString.call(iterator), "[object URLSearchParams Iterator]"); +}, "Object.prototype.toString returns correct value"); + +test(() => { + const iterator = new URLSearchParams().entries(); + assert_equals(iterator[Symbol.toStringTag], "URLSearchParams Iterator"); + assert_equals(Object.getOwnPropertyDescriptor(iterator, Symbol.toStringTag), undefined); +}, "@@toStringTag has correct value from prototype"); +</script> |