Created
March 21, 2017 16:42
-
-
Save jugglinmike/05fd45204be5e0635cf06731802b4e39 to your computer and use it in GitHub Desktop.
Changes to Chromium test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js | |
index ebef428..ae51a22 100644 | |
--- a/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js | |
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js | |
@@ -1,38 +1,40 @@ | |
-importScripts('../../resources/worker-testharness.js'); | |
+importScripts('/resources/testharness.js'); | |
+var test_object = { wanwan: 123 }; | |
+var channel1 = new MessageChannel(); | |
+var channel2 = new MessageChannel(); | |
+var ports = [channel1.port1, channel1.port2, channel2.port1]; | |
function createEvent(initializer) { | |
if (initializer === undefined) | |
return new ExtendableMessageEvent('type'); | |
return new ExtendableMessageEvent('type', initializer); | |
} | |
-self.addEventListener('message', function(event) { | |
- try { | |
- // These test cases are mostly copied from | |
- // fast/events/constructors/message-event-constructor.html. | |
- | |
- var test_object = { wanwan: 123 }; | |
- var channel1 = new MessageChannel(); | |
- var channel2 = new MessageChannel(); | |
+// These test cases are mostly copied from the following file in the Chromium | |
+// project (as of commit 848ad70823991e0f12b437d789943a4ab24d65bb): | |
+// third_party/WebKit/LayoutTests/fast/events/constructors/message-event-constructor.html | |
- // No initializer is passed. | |
+test(function() { | |
assert_false(createEvent().bubbles); | |
assert_false(createEvent().cancelable); | |
assert_equals(createEvent().data, null); | |
assert_equals(createEvent().origin, ''); | |
assert_equals(createEvent().lastEventId, ''); | |
assert_equals(createEvent().source, null); | |
- assert_equals(createEvent().ports, null); | |
+ assert_array_equals(createEvent().ports, []); | |
+}, 'no initializer specified'); | |
- // bubbles is passed. | |
+test(function() { | |
assert_false(createEvent({ bubbles: false }).bubbles); | |
assert_true(createEvent({ bubbles: true }).bubbles); | |
+}, '`bubbles` is specified'); | |
- // cancelable is passed. | |
+test(function() { | |
assert_false(createEvent({ cancelable: false }).cancelable); | |
assert_true(createEvent({ cancelable: true }).cancelable); | |
+}, '`cancelable` is specified'); | |
- // data is passed. | |
+test(function() { | |
assert_equals(createEvent({ data: test_object }).data, test_object); | |
assert_equals(createEvent({ data: undefined }).data, null); | |
assert_equals(createEvent({ data: null }).data, null); | |
@@ -53,8 +55,9 @@ self.addEventListener('message', function(event) { | |
assert_equals(createEvent({ get data(){ return 123; } }).data, 123); | |
assert_throws({ name: 'Error' }, function() { | |
createEvent({ get data() { throw { name: 'Error' }; } }); }); | |
+}, '`data` is specified'); | |
- // origin is passed. | |
+test(function() { | |
assert_equals(createEvent({ origin: 'melancholy' }).origin, 'melancholy'); | |
assert_equals(createEvent({ origin: '' }).origin, ''); | |
assert_equals(createEvent({ origin: null }).origin, 'null'); | |
@@ -80,7 +83,9 @@ self.addEventListener('message', function(event) { | |
createEvent({ get origin() { return 123; } }).origin, '123'); | |
assert_throws({ name: 'Error' }, function() { | |
createEvent({ get origin() { throw { name: 'Error' }; } }); }); | |
+}, '`origin` is specified'); | |
+test(function() { | |
// lastEventId is passed. | |
assert_equals( | |
createEvent({ lastEventId: 'melancholy' }).lastEventId, 'melancholy'); | |
@@ -110,9 +115,10 @@ self.addEventListener('message', function(event) { | |
'123'); | |
assert_throws({ name: 'Error' }, function() { | |
createEvent({ get lastEventId() { throw { name: 'Error' }; } }); }); | |
+}, '`lastEventId` is specified'); | |
- // source is passed. | |
- assert_equals(createEvent({ source: event.source }).source, event.source); | |
+test(function() { | |
+ assert_equals(createEvent({ source: channel1.port1 }).source, channel1.port1); | |
assert_equals( | |
createEvent({ source: self.registration.active }).source, | |
self.registration.active); | |
@@ -121,17 +127,16 @@ self.addEventListener('message', function(event) { | |
assert_throws( | |
{ name: 'TypeError' }, function() { createEvent({ source: this }); }, | |
'source should be Client or ServiceWorker or MessagePort'); | |
+}, '`source` is specified'); | |
- // port is passed. | |
+test(function() { | |
// Valid message ports. | |
- var ports = [channel1.port1, channel1.port2, channel2.port1]; | |
var passed_ports = createEvent({ ports: ports}).ports; | |
assert_equals(passed_ports[0], channel1.port1); | |
assert_equals(passed_ports[1], channel1.port2); | |
assert_equals(passed_ports[2], channel2.port1); | |
- assert_equals(createEvent({ ports: [] }).ports.length, 0); | |
- assert_equals(createEvent({ ports: undefined }).ports, null); | |
- assert_equals(createEvent({ ports: null }).ports, null); | |
+ assert_array_equals(createEvent({ ports: [] }).ports, []); | |
+ assert_array_equals(createEvent({ ports: undefined }).ports, []); | |
// Invalid message ports. | |
assert_throws({ name: 'TypeError' }, | |
@@ -139,6 +144,8 @@ self.addEventListener('message', function(event) { | |
assert_throws({ name: 'TypeError' }, | |
function() { createEvent({ ports: test_object }); }); | |
assert_throws({ name: 'TypeError' }, | |
+ function() { createEvent({ ports: null }); }); | |
+ assert_throws({ name: 'TypeError' }, | |
function() { createEvent({ ports: this }); }); | |
assert_throws({ name: 'TypeError' }, | |
function() { createEvent({ ports: false }); }); | |
@@ -160,17 +167,19 @@ self.addEventListener('message', function(event) { | |
createEvent({ get ports() { throw { name: 'Error' }; } }); }); | |
// Note that valueOf() is not called, when the left hand side is | |
// evaluated. | |
+ var valueOf = function() { return ports; }; | |
assert_throws({ name: 'TypeError' }, function() { | |
- createEvent({ ports: { valueOf: function() { return ports; } } }); }); | |
+ createEvent({ ports: { valueOf: valueOf } }); }); | |
+}, '`ports` is specified'); | |
- // All initializers are passed. | |
+test(function() { | |
var initializers = { | |
bubbles: true, | |
cancelable: true, | |
data: test_object, | |
origin: 'wonderful', | |
lastEventId: 'excellent', | |
- source: event.source, | |
+ source: channel1.port1, | |
ports: ports | |
}; | |
assert_equals(createEvent(initializers).bubbles, true); | |
@@ -178,13 +187,8 @@ self.addEventListener('message', function(event) { | |
assert_equals(createEvent(initializers).data, test_object); | |
assert_equals(createEvent(initializers).origin, 'wonderful'); | |
assert_equals(createEvent(initializers).lastEventId, 'excellent'); | |
- assert_equals(createEvent(initializers).source, event.source); | |
+ assert_equals(createEvent(initializers).source, channel1.port1); | |
assert_equals(createEvent(initializers).ports[0], ports[0]); | |
assert_equals(createEvent(initializers).ports[1], ports[1]); | |
assert_equals(createEvent(initializers).ports[2], ports[2]); | |
- | |
- event.source.postMessage('success'); | |
- } catch(e) { | |
- event.source.postMessage('failure: ' + e.message); | |
- } | |
- }); | |
+}, 'all initial values are specified'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment