| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
| 5 </head> | 5 </head> |
| 6 <body> | 6 <body> |
| 7 <script> | 7 <script> |
| 8 | 8 |
| 9 description("This tests the constructor for the MessageEvent DOM class."); | 9 description("This tests the constructor for the MessageEvent DOM class."); |
| 10 | 10 |
| 11 var test_object = {nyannyan: 123}; | 11 var test_object = {nyannyan: 123}; |
| 12 | 12 |
| 13 // No initializer is passed. | 13 // No initializer is passed. |
| 14 shouldBe("new MessageEvent('eventType').bubbles", "false"); | 14 shouldBe("new MessageEvent('eventType').bubbles", "false"); |
| 15 shouldBe("new MessageEvent('eventType').cancelable", "false"); | 15 shouldBe("new MessageEvent('eventType').cancelable", "false"); |
| 16 shouldBe("new MessageEvent('eventType').data", "null"); | 16 shouldBe("new MessageEvent('eventType').data", "null"); |
| 17 shouldBeEqualToString("new MessageEvent('eventType').origin", ""); | 17 shouldBeEqualToString("new MessageEvent('eventType').origin", ""); |
| 18 shouldBeEqualToString("new MessageEvent('eventType').lastEventId", ""); | 18 shouldBeEqualToString("new MessageEvent('eventType').lastEventId", ""); |
| 19 shouldBe("new MessageEvent('eventType').source", "null"); | 19 shouldBe("new MessageEvent('eventType').source", "null"); |
| 20 shouldBe("new MessageEvent('eventType').ports", "[]"); | 20 shouldBe("new MessageEvent('eventType').ports", "null"); |
| 21 | 21 |
| 22 // bubbles is passed. | 22 // bubbles is passed. |
| 23 shouldBe("new MessageEvent('eventType', { bubbles: false }).bubbles", "false"); | 23 shouldBe("new MessageEvent('eventType', { bubbles: false }).bubbles", "false"); |
| 24 shouldBe("new MessageEvent('eventType', { bubbles: true }).bubbles", "true"); | 24 shouldBe("new MessageEvent('eventType', { bubbles: true }).bubbles", "true"); |
| 25 | 25 |
| 26 // cancelable is passed. | 26 // cancelable is passed. |
| 27 shouldBe("new MessageEvent('eventType', { cancelable: false }).cancelable", "fal
se"); | 27 shouldBe("new MessageEvent('eventType', { cancelable: false }).cancelable", "fal
se"); |
| 28 shouldBe("new MessageEvent('eventType', { cancelable: true }).cancelable", "true
"); | 28 shouldBe("new MessageEvent('eventType', { cancelable: true }).cancelable", "true
"); |
| 29 | 29 |
| 30 // data is passed. | 30 // data is passed. |
| 31 shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_obje
ct"); | 31 shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_obje
ct"); |
| 32 shouldBe("new MessageEvent('eventType', { data: document }).data", "document"); | 32 shouldBe("new MessageEvent('eventType', { data: document }).data", "document"); |
| 33 shouldBe("new MessageEvent('eventType', { data: undefined }).data", "undefined")
; | 33 shouldBe("new MessageEvent('eventType', { data: undefined }).data", "null"); |
| 34 shouldBe("new MessageEvent('eventType', { data: null }).data", "null"); | 34 shouldBe("new MessageEvent('eventType', { data: null }).data", "null"); |
| 35 shouldBe("new MessageEvent('eventType', { data: false }).data", "false"); | 35 shouldBe("new MessageEvent('eventType', { data: false }).data", "false"); |
| 36 shouldBe("new MessageEvent('eventType', { data: true }).data", "true"); | 36 shouldBe("new MessageEvent('eventType', { data: true }).data", "true"); |
| 37 shouldBeEqualToString("new MessageEvent('eventType', { data: '' }).data", ""); | 37 shouldBeEqualToString("new MessageEvent('eventType', { data: '' }).data", ""); |
| 38 shouldBeEqualToString("new MessageEvent('eventType', { data: 'chocolate' }).data
", "chocolate"); | 38 shouldBeEqualToString("new MessageEvent('eventType', { data: 'chocolate' }).data
", "chocolate"); |
| 39 shouldBe("new MessageEvent('eventType', { data: 12345 }).data", "12345"); | 39 shouldBe("new MessageEvent('eventType', { data: 12345 }).data", "12345"); |
| 40 shouldBe("new MessageEvent('eventType', { data: 18446744073709551615 }).data", "
18446744073709552000"); | 40 shouldBe("new MessageEvent('eventType', { data: 18446744073709551615 }).data", "
18446744073709552000"); |
| 41 shouldBe("new MessageEvent('eventType', { data: NaN }).data", "NaN"); | 41 shouldBe("new MessageEvent('eventType', { data: NaN }).data", "NaN"); |
| 42 // Note that valueOf() is not called, when the left hand side is evaluated. | 42 // Note that valueOf() is not called, when the left hand side is evaluated. |
| 43 shouldBeFalse("new MessageEvent('eventType', { data: {valueOf: function () { ret
urn test_object; } } }).data == test_object"); | 43 shouldBeFalse("new MessageEvent('eventType', { data: {valueOf: function () { ret
urn test_object; } } }).data == test_object"); |
| 44 shouldBe("new MessageEvent('eventType', { get data() { return 123; } }).data", "
123"); | 44 shouldBe("new MessageEvent('eventType', { get data() { return 123; } }).data", "
123"); |
| 45 shouldThrow("new MessageEvent('eventType', { get data() { throw 'MessageEvent Er
ror'; } })"); | 45 shouldThrow("new MessageEvent('eventType', { get data() { throw 'MessageEvent Er
ror'; } })"); |
| 46 | 46 |
| 47 // origin or lastEventId is passed. | 47 // origin or lastEventId is passed. |
| 48 ["origin", "lastEventId"].forEach(function (attr) { | 48 ["origin", "lastEventId"].forEach(function (attr) { |
| 49 // Strings. | 49 // Strings. |
| 50 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 'melanc
holy' })." + attr, "melancholy"); | 50 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 'melanc
holy' })." + attr, "melancholy"); |
| 51 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": '' })."
+ attr, ""); | 51 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": '' })."
+ attr, ""); |
| 52 | 52 |
| 53 // Non-strings. | 53 // Non-strings. |
| 54 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": undefin
ed })." + attr, "undefined"); | 54 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": undefin
ed })." + attr, ""); |
| 55 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": null })
." + attr, "null"); | 55 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": null })
." + attr, "null"); |
| 56 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": false }
)." + attr, "false"); | 56 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": false }
)." + attr, "false"); |
| 57 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": true })
." + attr, "true"); | 57 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": true })
." + attr, "true"); |
| 58 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 12345 }
)." + attr, "12345"); | 58 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 12345 }
)." + attr, "12345"); |
| 59 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 1844674
4073709551615 })." + attr, "18446744073709552000"); | 59 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": 1844674
4073709551615 })." + attr, "18446744073709552000"); |
| 60 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": NaN }).
" + attr, "NaN"); | 60 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": NaN }).
" + attr, "NaN"); |
| 61 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": [] })."
+ attr, ""); | 61 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": [] })."
+ attr, ""); |
| 62 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": [1, 2,
3] })." + attr, "1,2,3"); | 62 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": [1, 2,
3] })." + attr, "1,2,3"); |
| 63 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": {melanc
holy: 12345} })." + attr, "[object Object]"); | 63 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": {melanc
holy: 12345} })." + attr, "[object Object]"); |
| 64 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": {valueO
f: function () { return 'melancholy'; } } })." + attr, "[object Object]"); | 64 shouldBeEqualToString("new MessageEvent('eventType', { " + attr + ": {valueO
f: function () { return 'melancholy'; } } })." + attr, "[object Object]"); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 94 shouldThrow("new MessageEvent('eventType', { get source() { return 123; } }).sou
rce"); | 94 shouldThrow("new MessageEvent('eventType', { get source() { return 123; } }).sou
rce"); |
| 95 shouldThrow("new MessageEvent('eventType', { get source() { throw 'MessageEvent
Error'; } })"); | 95 shouldThrow("new MessageEvent('eventType', { get source() { throw 'MessageEvent
Error'; } })"); |
| 96 | 96 |
| 97 // ports is passed. | 97 // ports is passed. |
| 98 // Valid message ports. | 98 // Valid message ports. |
| 99 var channel2 = new MessageChannel(); | 99 var channel2 = new MessageChannel(); |
| 100 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[0]", "channel.port1"); | 100 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[0]", "channel.port1"); |
| 101 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[1]", "channel.port2"); | 101 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[1]", "channel.port2"); |
| 102 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[2]", "channel2.port1"); | 102 shouldBe("new MessageEvent('eventType', { ports: [channel.port1, channel.port2,
channel2.port1] }).ports[2]", "channel2.port1"); |
| 103 shouldBe("new MessageEvent('eventType', { ports: [] }).ports", "[]"); | 103 shouldBe("new MessageEvent('eventType', { ports: [] }).ports", "[]"); |
| 104 shouldBe("new MessageEvent('eventType', { ports: undefined }).ports", "[]"); | 104 shouldBe("new MessageEvent('eventType', { ports: undefined }).ports", "null"); |
| 105 shouldBe("new MessageEvent('eventType', { ports: null }).ports", "[]"); | 105 shouldBe("new MessageEvent('eventType', { ports: null }).ports", "null"); |
| 106 | 106 |
| 107 // Invalid message ports. | 107 // Invalid message ports. |
| 108 shouldThrow("new MessageEvent('eventType', { ports: [1, 2, 3] }).ports[2]"); | 108 shouldThrow("new MessageEvent('eventType', { ports: [1, 2, 3] }).ports[2]"); |
| 109 shouldThrow("new MessageEvent('eventType', { ports: test_object }).ports"); | 109 shouldThrow("new MessageEvent('eventType', { ports: test_object }).ports"); |
| 110 shouldThrow("new MessageEvent('eventType', { ports: document }).ports"); | 110 shouldThrow("new MessageEvent('eventType', { ports: document }).ports"); |
| 111 shouldThrow("new MessageEvent('eventType', { ports: false }).ports"); | 111 shouldThrow("new MessageEvent('eventType', { ports: false }).ports"); |
| 112 shouldThrow("new MessageEvent('eventType', { ports: true }).ports"); | 112 shouldThrow("new MessageEvent('eventType', { ports: true }).ports"); |
| 113 shouldThrow("new MessageEvent('eventType', { ports: '' }).ports"); | 113 shouldThrow("new MessageEvent('eventType', { ports: '' }).ports"); |
| 114 shouldThrow("new MessageEvent('eventType', { ports: 'chocolate' }).ports"); | 114 shouldThrow("new MessageEvent('eventType', { ports: 'chocolate' }).ports"); |
| 115 shouldThrow("new MessageEvent('eventType', { ports: 12345 }).ports"); | 115 shouldThrow("new MessageEvent('eventType', { ports: 12345 }).ports"); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 127 shouldBeEqualToString("new MessageEvent('eventType', { bubbles: true, cancelable
: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source
: window, ports: [channel.port1, channel.port2, channel2.port1] }).origin", "won
derful"); | 127 shouldBeEqualToString("new MessageEvent('eventType', { bubbles: true, cancelable
: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source
: window, ports: [channel.port1, channel.port2, channel2.port1] }).origin", "won
derful"); |
| 128 shouldBeEqualToString("new MessageEvent('eventType', { bubbles: true, cancelable
: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source
: window, ports: [channel.port1, channel.port2, channel2.port1] }).lastEventId",
"excellent"); | 128 shouldBeEqualToString("new MessageEvent('eventType', { bubbles: true, cancelable
: true, data: test_object, origin: 'wonderful', lastEventId: 'excellent', source
: window, ports: [channel.port1, channel.port2, channel2.port1] }).lastEventId",
"excellent"); |
| 129 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).source", "window"); | 129 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).source", "window"); |
| 130 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[0]", "channel.port1"
); | 130 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[0]", "channel.port1"
); |
| 131 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[1]", "channel.port2"
); | 131 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[1]", "channel.port2"
); |
| 132 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[2]", "channel2.port1
"); | 132 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: [channel.port1, channel.port2, channel2.port1] }).ports[2]", "channel2.port1
"); |
| 133 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: {length: 3, 0: channel.port1, 1: channel.port2, 2: channel2.port1} }).ports[
2]", "channel2.port1"); | 133 shouldBe("new MessageEvent('eventType', { bubbles: true, cancelable: true, data:
test_object, origin: 'wonderful', lastEventId: 'excellent', source: window, por
ts: {length: 3, 0: channel.port1, 1: channel.port2, 2: channel2.port1} }).ports[
2]", "channel2.port1"); |
| 134 </script> | 134 </script> |
| 135 </body> | 135 </body> |
| 136 </html> | 136 </html> |
| OLD | NEW |