gecko/testing/web-platform/tests/progress-events/interface.html
James Graham 3dfd6c1bac Bug 945222 - Initial import of web-platform-tests testsuite 1/4: test data
--HG--
extra : rebase_source : d635a4f39c587d4d381b486dd63de747865b77a2
2014-09-04 12:48:31 +01:00

54 lines
1.8 KiB
HTML

<!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)
assert_throws(new TypeError(), function() {
"use strict";
delete ProgressEvent.length;
})
})
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(new 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(new 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>