Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /xhr/progressevent-constructor.any.html - WPT Dashboard Interop Dashboard
- /xhr/progressevent-constructor.any.serviceworker.html - WPT Dashboard Interop Dashboard
- /xhr/progressevent-constructor.any.sharedworker.html - WPT Dashboard Interop Dashboard
- /xhr/progressevent-constructor.any.worker.html - WPT Dashboard Interop Dashboard
// META: title=ProgressEvent constructor
// META: global=window,dedicatedworker,sharedworker,serviceworker
test(function() {
var ev = new ProgressEvent('test')
assert_equals(ev.type, 'test')
assert_equals(ev.target, null)
assert_equals(ev.currentTarget, null)
assert_equals(ev.eventPhase, Event.NONE)
assert_equals(ev.bubbles, false)
assert_equals(ev.cancelable, false)
assert_equals(ev.defaultPrevented, false)
assert_equals(ev.isTrusted, false)
assert_true(ev.timeStamp > 0)
assert_true('initEvent' in ev)
assert_equals(ev.lengthComputable, false)
assert_equals(ev.loaded, 0)
assert_equals(ev.total, 0)
}, 'Default event values.')
test(function() {
var ev = new ProgressEvent('test')
assert_equals(ev['initProgressEvent'], undefined)
}, 'There must not be a initProgressEvent().')
test(function() {
var ev = new ProgressEvent(
'I am an event', {type: 'trololol', bubbles: true, cancelable: false})
assert_equals(ev.type, 'I am an event')
assert_equals(ev.bubbles, true)
assert_equals(ev.cancelable, false)
}, 'Basic test.')
test(function() {
var ev = new ProgressEvent(null, {lengthComputable: 'hah', loaded: '2'})
assert_equals(ev.type, 'null')
assert_equals(ev.lengthComputable, true)
assert_equals(ev.loaded, 2)
}, 'ECMAScript value conversion test.')
test(function() {
var ev = new ProgressEvent(null, {loaded: 1, total: 2})
assert_equals(ev.type, 'null')
assert_equals(ev.loaded, 1)
assert_equals(ev.total, 2)
}, 'Positive integer number test.')
test(function() {
var ev = new ProgressEvent(null, {loaded: 0, total: 1})
assert_equals(ev.type, 'null')
assert_equals(ev.loaded, 0)
assert_equals(ev.total, 1)
}, 'Zero test.')
test(function() {
var ev = new ProgressEvent(null, {loaded: 1.5, total: 3.5})
assert_equals(ev.type, 'null')
assert_equals(ev.loaded, 1.5)
assert_equals(ev.total, 3.5)
}, 'Decimal number test.')
test(function() {
var ev = new ProgressEvent(null, {loaded: 1.5, total: 5})
assert_equals(ev.type, 'null')
assert_equals(ev.loaded, 1.5)
assert_equals(ev.total, 5)
}, 'Mixed integer and decimal number test.')
test(function() {
var ev = new ProgressEvent(null, {loaded: -1, total: -5.5})
assert_equals(ev.type, 'null')
assert_equals(ev.loaded, -1)
assert_equals(ev.total, -5.5)
}, 'Negative number.')
test(function() {
var ev = new ProgressEvent('Xx', {lengthcomputable: true})
assert_equals(ev.type, 'Xx')
assert_equals(ev.lengthComputable, false)
}, 'ProgressEventInit members must be matched case-sensitively.')