| RUN(internals.initializeMockMediaSource()) |
| RUN(mock = internals.registerMockCDM()) |
| RUN(mock.supportedDataTypes = ["keyids"]) |
| RUN(capabilities.initDataTypes = ["keyids"]) |
| RUN(capabilities.videoCapabilities = [{ contentType: 'video/mock; codecs="mock"' }] ) |
| RUN(promise = navigator.requestMediaKeySystemAccess("org.webkit.mock", [capabilities])) |
| Promise resolved OK |
| |
| RUN(promise = mediaKeySystemAccess.createMediaKeys()) |
| Promise resolved OK |
| |
| Using an invalid initDataType string should reject. |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| EXPECTED (typeof mediaKeySession == 'object') OK |
| RUN(promise = mediaKeySession.generateRequest("invalid", stringToUInt8Array("invalid"))) |
| Promise rejected correctly OK |
| |
| Re-using a failed mediaKeySession should reject. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(promise = mediaKeySession.generateRequest("keyids", stringToUInt8Array(kids))) |
| Promise rejected correctly OK |
| |
| Using a new mediaKeySession should resolve. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", stringToUInt8Array(kids))) |
| Promise resolved OK |
| |
| Using invalid initData should reject. |
| RUN(kids = JSON.stringify({ invalid: "invalid" })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", stringToUInt8Array(kids))) |
| Promise rejected correctly OK |
| |
| Using initData with extraneous information should resolve. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU="], invalid: "invalid" })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", stringToUInt8Array(kids))) |
| Promise resolved OK |
| |
| initData is encoded in base64url. |
| RUN(kids = JSON.stringify({ kids: [ "ig2FRSEF1BU1j-qPaObBkQ"] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", stringToUInt8Array(kids))) |
| Promise resolved OK |
| END OF TEST |
| |