OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <script src="../../../resources/js-test.js"></script> | |
5 </head> | |
6 | |
7 <body> | |
8 <script> | |
9 | |
10 window.jsTestIsAsync = true; | |
11 | |
12 description("This tests the constructor for the MediaKeyEvent DOM class.
"); | |
13 | |
14 function test() | |
15 { | |
16 debug("<br>*** No initializer passed ***"); | |
17 shouldBe("new MediaKeyEvent('MediaKeyEvent').bubbles", "false"); | |
18 shouldBe("new MediaKeyEvent('MediaKeyEvent').cancelable", "false"); | |
19 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent').keySystem"); | |
20 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent').sessionId"); | |
21 shouldBeNull("new MediaKeyEvent('MediaKeyEvent').initData"); | |
22 shouldBeNull("new MediaKeyEvent('MediaKeyEvent').message"); | |
23 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent').defaultURL")
; | |
24 shouldBeNull("new MediaKeyEvent('MediaKeyEvent').errorCode"); | |
25 shouldBeZero("new MediaKeyEvent('MediaKeyEvent').systemCode"); | |
26 | |
27 debug("<br>*** Bubbles and cancelable true, other members are missin
g ***"); | |
28 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true }).bubbles", "true"); | |
29 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true }).cancelable", "true"); | |
30 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent', { bubbles: t
rue, cancelable: true }).keySystem"); | |
31 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent', { bubbles: t
rue, cancelable: true }).sessionId"); | |
32 shouldBeNull("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, ca
ncelable: true }).initData"); | |
33 shouldBeNull("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, ca
ncelable: true }).message"); | |
34 shouldBeEmptyString("new MediaKeyEvent('MediaKeyEvent', { bubbles: t
rue, cancelable: true }).defaultURL"); | |
35 shouldBeNull("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, ca
ncelable: true }).errorCode"); | |
36 shouldBeZero("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, ca
ncelable: true }).systemCode"); | |
37 | |
38 debug("<br>*** Bubbles and cancelable true, invalid other members **
*"); | |
39 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).bubbles"); | |
40 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).cancelable"); | |
41 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).keySystem"); | |
42 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).sessionId"); | |
43 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).initData"); | |
44 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).message"); | |
45 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).defaultURL"); | |
46 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).errorCode"); | |
47 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, can
celable: true, keySystem: undefined, sessionId: undefined, initData: Uint8Array,
message: Uint8Array, defaultURL: undefined, errorCode: MediaKeyError, systemCod
e: undefined }).systemCode"); | |
48 | |
49 debug("<br>*** Initialize 'keySystem' with a invalid values ***"); | |
50 emptyObject = { }; | |
51 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { keySyste
m: emptyObject }).keySystem", "[object Object]"); | |
52 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { keySyste
m: document }).keySystem", "[object HTMLDocument]"); | |
53 | |
54 debug("<br>*** Initialize 'sessionId' with a invalid values ***"); | |
55 emptyObject = { }; | |
56 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { sessionI
d: emptyObject }).sessionId", "[object Object]"); | |
57 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { sessionI
d: document }).sessionId", "[object HTMLDocument]"); | |
58 | |
59 debug("<br>*** Initialize 'initData' with a invalid values ***"); | |
60 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { initData: 10 }).in
itData"); | |
61 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { initData: \'string
\' }).initData"); | |
62 emptyObject = { }; | |
63 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { initData: emptyObj
ect }).initData"); | |
64 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { initData: document
}).initData"); | |
65 | |
66 debug("<br>*** Initialize 'message' with a invalid values ***"); | |
67 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { message: 10 }).mes
sage"); | |
68 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { message: \'string\
' }).message"); | |
69 emptyObject = { }; | |
70 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { message: emptyObje
ct }).message"); | |
71 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { message: document
}).message"); | |
72 | |
73 debug("<br>*** Initialize 'defaultURL' with a invalid values ***"); | |
74 emptyObject = { }; | |
75 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { defaultU
RL: emptyObject }).defaultURL", "[object Object]"); | |
76 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { defaultU
RL: document }).defaultURL", "[object HTMLDocument]"); | |
77 | |
78 debug("<br>*** Initialize 'errorCode' with a invalid values ***"); | |
79 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { errorCode: 10 }).e
rrorCode"); | |
80 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { errorCode: \'strin
g\' }).errorCode"); | |
81 emptyObject = { }; | |
82 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { errorCode: emptyOb
ject }).errorCode"); | |
83 shouldThrow("new MediaKeyEvent('MediaKeyEvent', { errorCode: documen
t }).errorCode"); | |
84 | |
85 debug("<br>*** Initialize 'systemCode' with a invalid values ***"); | |
86 shouldBeZero("new MediaKeyEvent('MediaKeyEvent', { systemCode: \'str
ing\' }).systemCode"); | |
87 emptyObject = { }; | |
88 shouldBeZero("new MediaKeyEvent('MediaKeyEvent', { systemCode: empty
Object }).systemCode"); | |
89 shouldBeZero("new MediaKeyEvent('MediaKeyEvent', { systemCode: docum
ent }).systemCode"); | |
90 | |
91 debug("<br>*** Bubbles and cancelable true, valid other members ***"
); | |
92 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).bubbles", "true"); | |
93 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).cancelable", "true"); | |
94 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { bubbles:
true, cancelable: true, keySystem: 'keySystem', sessionId: 'sessionId', initDat
a: initDataArray, message: messageArray, defaultURL: 'defaultURL', errorCode: er
rorObject, systemCode: 123 }).keySystem", "keySystem"); | |
95 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { bubbles:
true, cancelable: true, keySystem: 'keySystem', sessionId: 'sessionId', initDat
a: initDataArray, message: messageArray, defaultURL: 'defaultURL', errorCode: er
rorObject, systemCode: 123 }).sessionId", "sessionId"); | |
96 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).initData", "initDataArray"); | |
97 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).message", "messageArray"); | |
98 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { bubbles:
true, cancelable: true, keySystem: 'keySystem', sessionId: 'sessionId', initDat
a: initDataArray, message: messageArray, defaultURL: 'defaultURL', errorCode: er
rorObject, systemCode: 123 }).defaultURL", "defaultURL"); | |
99 // FIXME(82988): These two fail. | |
100 shouldBeNonNull("new MediaKeyEvent('MediaKeyEvent', { bubbles: true,
cancelable: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: ini
tDataArray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObj
ect, systemCode: 123 }).errorCode"); | |
101 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).errorCode.code", "MediaKeyError.MEDIA_KEYERR_UNKNOWN"); | |
102 shouldBe("new MediaKeyEvent('MediaKeyEvent', { bubbles: true, cancel
able: true, keySystem: 'keySystem', sessionId: 'sessionId', initData: initDataAr
ray, message: messageArray, defaultURL: 'defaultURL', errorCode: errorObject, sy
stemCode: 123 }).systemCode", "123"); | |
103 | |
104 debug("<br>*** Initialize with valid members ***"); | |
105 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).bubbles", "true"
); | |
106 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).cancelable", "tr
ue"); | |
107 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { keySyste
m: 'keySystem', sessionId: 'sessionId', initData: initDataArray, message: messag
eArray, defaultURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).key
System", "keySystem"); | |
108 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { keySyste
m: 'keySystem', sessionId: 'sessionId', initData: initDataArray, message: messag
eArray, defaultURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).ses
sionId", "sessionId"); | |
109 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).initData", "init
DataArray"); | |
110 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).message", "messa
geArray"); | |
111 shouldBeEqualToString("new MediaKeyEvent('MediaKeyEvent', { keySyste
m: 'keySystem', sessionId: 'sessionId', initData: initDataArray, message: messag
eArray, defaultURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).def
aultURL", "defaultURL"); | |
112 // FIXME(82988): These two fail. | |
113 shouldBeNonNull("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'ke
ySystem', sessionId: 'sessionId', initData: initDataArray, message: messageArray
, defaultURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).errorCode
"); | |
114 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).errorCode.code",
"MediaKeyError.MEDIA_KEYERR_UNKNOWN"); | |
115 shouldBe("new MediaKeyEvent('MediaKeyEvent', { keySystem: 'keySystem
', sessionId: 'sessionId', initData: initDataArray, message: messageArray, defau
ltURL: 'defaultURL', errorCode: errorObject, systemCode: 123 }).systemCode", "12
3"); | |
116 | |
117 debug(""); | |
118 finishJSTest(); | |
119 } | |
120 | |
121 var initDataArray = new Uint8Array([0x41, 0x42, 0x43]); | |
122 var messageArray = new Uint8Array([0x51, 0x52, 0x53]); | |
123 // FIXME(82988): This does not create an error like we want. | |
124 //var errorObject = window.MediaKeyError; | |
125 var errorObject = null; | |
126 // shouldBe("typeof errorObject", TBD); | |
127 | |
128 video = document.createElement('video'); | |
129 document.body.appendChild(video); | |
130 | |
131 test() | |
132 </script> | |
133 | |
134 </body> | |
135 </html> | |
OLD | NEW |