blob: 6f285caac38574ca95cd634e014ca444f246bf73 [file] [log] [blame]
importScripts("/resources/testharness.js");
test(function() {
self.onmessage = 1;
assert_equals(self.onmessage, null,
"attribute should return null after being set to a primitive");
}, "Setting onmessage to 1");
test(function() {
var object = {
handleEvent: this.unreached_func()
};
self.onmessage = object;
assert_equals(self.onmessage, object,
"attribute should return the object it was set to.");
self.dispatchEvent(new Event("message"));
}, "Setting onmessage to an object");
test(function() {
var triggered = false;
var f = function(e) { triggered = true; };
self.onmessage = f;
assert_equals(self.onmessage, f,
"attribute should return the function it was set to.");
self.dispatchEvent(new Event("message"));
assert_true(triggered, "event handler should have been triggered");
}, "Setting onmessage to a function");
test(function() {
assert_not_equals(self.onmessage, null,
"attribute should not return null after being set to a function");
self.onmessage = 1;
assert_equals(self.onmessage, null,
"attribute should return null after being set to a primitive");
}, "Setting onmessage to 1 (again)");
done();