| Test all the key-related events. |
| |
| *** Verify the presence of on* attributes. These would return undefined if they are not present. *** |
| EXPECTED (video.onwebkitkeyadded === 'null') OK |
| EXPECTED (video.onwebkitkeyerror === 'null') OK |
| EXPECTED (video.onwebkitkeymessage === 'null') OK |
| EXPECTED (video.onwebkitneedkey === 'null') OK |
| |
| *** Test events using on* attributes. *** |
| EVENT(loadstart) |
| |
| RUN(video.webkitGenerateKeyRequest('webkit-org.w3.clearkey', initData)) |
| keymessage event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| The sessionId should be a non-empty string containing an integer. |
| EXPECTED (event.sessionId != '') OK |
| EXPECTED (event.sessionId != 'null') OK |
| EXPECTED (event.sessionId != 'undefined') OK |
| EXPECTED (isNaN(event.sessionId) == 'false') OK |
| EXPECTED (String(event.sessionId) == String(parseInt(event.sessionId)) == 'true') OK |
| Implementations should avoid sessionIds of 0. |
| EXPECTED (event.sessionId > '0') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message.length == '3') OK |
| EXPECTED (event.message[0] == '65') OK |
| EXPECTED (event.message[1] == '66') OK |
| EXPECTED (event.message[2] == '67') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode === 'null') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| RUN(video.webkitAddKey('webkit-org.w3.clearkey', key, event.initData, event.sessionId)) |
| keyadded event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| EXPECTED (event.sessionId == keyMessageSessionId == 'true') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message === 'null') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode === 'null') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| RUN(video.webkitAddKey('webkit-org.w3.clearkey', invalidKey, null, event.sessionId)) |
| keyerror event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| EXPECTED (event.sessionId == keyMessageSessionId == 'true') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message === 'null') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode.code == '1') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| *** Test events using addEventListener(). *** |
| EVENT(loadstart) |
| |
| RUN(video.webkitGenerateKeyRequest('webkit-org.w3.clearkey', initData)) |
| EVENT(webkitkeymessage) |
| keymessage event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| The sessionId should be a non-empty string containing an integer. |
| EXPECTED (event.sessionId != '') OK |
| EXPECTED (event.sessionId != 'null') OK |
| EXPECTED (event.sessionId != 'undefined') OK |
| EXPECTED (isNaN(event.sessionId) == 'false') OK |
| EXPECTED (String(event.sessionId) == String(parseInt(event.sessionId)) == 'true') OK |
| Implementations should avoid sessionIds of 0. |
| EXPECTED (event.sessionId > '0') OK |
| The sessionsId should be different from the first run. |
| EXPECTED (event.sessionId != '1') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message.length == '3') OK |
| EXPECTED (event.message[0] == '65') OK |
| EXPECTED (event.message[1] == '66') OK |
| EXPECTED (event.message[2] == '67') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode === 'null') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| RUN(video.webkitAddKey('webkit-org.w3.clearkey', key, event.initData, event.sessionId)) |
| EVENT(webkitkeyadded) |
| keyadded event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| EXPECTED (event.sessionId == keyMessageSessionId == 'true') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message === 'null') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode === 'null') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| RUN(video.webkitAddKey('webkit-org.w3.clearkey', invalidKey, null, event.sessionId)) |
| EVENT(webkitkeyerror) |
| keyerror event occurred |
| EXPECTED (event.target == '[object HTMLVideoElement]') OK |
| EXPECTED (event instanceof window.WebKitMediaKeyEvent == 'true') OK |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| EXPECTED (event.sessionId == keyMessageSessionId == 'true') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message === 'null') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode.code == '1') OK |
| EXPECTED (event.systemCode == '0') OK |
| |
| Attributes are read-only. |
| RUN(event.keySystem = 'blah') |
| RUN(event.sessionId = 'blah') |
| RUN(event.initData = new Uint8Array([0x12])) |
| RUN(event.message = new Uint8Array([0x12])) |
| RUN(event.defaultURL = 'example.com') |
| RUN(event.errorCode.code = WebKitMediaKeyError.MEDIA_KEYERR_CLIENT) |
| RUN(event.systemCode = 123) |
| EXPECTED (event.keySystem == 'webkit-org.w3.clearkey') OK |
| EXPECTED (event.sessionId == keyMessageSessionId == 'true') OK |
| EXPECTED (event.initData === 'null') OK |
| EXPECTED (event.message === 'null') OK |
| EXPECTED (event.defaultURL == '') OK |
| EXPECTED (event.errorCode.code == '1') OK |
| EXPECTED (event.systemCode == '0') OK |
| END OF TEST |
| |