summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/xhr/progressevent-interface.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/xhr/progressevent-interface.html49
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/progressevent-interface.html b/testing/web-platform/tests/xhr/progressevent-interface.html
new file mode 100644
index 0000000000..7552ff73d3
--- /dev/null
+++ b/testing/web-platform/tests/xhr/progressevent-interface.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<title>The ProgressEvent interface</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function() {
+ assert_equals(typeof ProgressEvent, "function")
+ assert_equals(ProgressEvent.length, 1)
+})
+test(function() {
+ var desc = Object.getOwnPropertyDescriptor(ProgressEvent, "prototype")
+ assert_equals(desc.value, ProgressEvent.prototype)
+ assert_equals(desc.writable, false)
+ assert_equals(desc.enumerable, false)
+ assert_equals(desc.configurable, false)
+ assert_throws_js(TypeError, function() {
+ "use strict";
+ delete ProgressEvent.prototype;
+ })
+ assert_equals(ProgressEvent.prototype.constructor, ProgressEvent)
+ assert_equals(Object.getPrototypeOf(ProgressEvent.prototype), Event.prototype)
+}, "interface prototype object")
+var attributes = [
+ ["boolean", "lengthComputable"],
+ ["unsigned long long", "loaded"],
+ ["unsigned long long", "total"]
+];
+attributes.forEach(function(a) {
+ test(function() {
+ var desc = Object.getOwnPropertyDescriptor(ProgressEvent.prototype, a[1])
+ assert_equals(desc.enumerable, true)
+ assert_equals(desc.configurable, true)
+ assert_throws_js(TypeError, function() {
+ ProgressEvent.prototype[a[1]]
+ })
+ })
+})
+test(function() {
+ for (var p in window) {
+ assert_not_equals(p, "ProgressEvent")
+ }
+}, "Interface objects properties should not be Enumerable")
+test(function() {
+ assert_true(!!window.ProgressEvent, "Interface should exist.")
+ assert_true(delete window.ProgressEvent, "The delete operator should return true.")
+ assert_equals(window.ProgressEvent, undefined, "Interface should be gone.")
+}, "Should be able to delete ProgressEvent.")
+</script>