| 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 |
| |
| Closing a non-callable MediaKeySession should reject. |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| EXPECTED (typeof mediaKeySession == 'object') OK |
| RUN(promise = mediaKeySession.close()) |
| Promise rejected correctly OK |
| |
| Closing a failed MediaKeySession should reject. |
| RUN(kids = JSON.stringify({ invalid: "invalid" })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise rejected correctly OK |
| RUN(promise = mediaKeySession.close()) |
| Promise rejected correctly OK |
| |
| Closing a valid MediaKeySession should resolve. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| |
| Closing a valid MediaKeySession should resolve the "closed" promise. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| Promise resolved OK |
| "closed" promise correctly resolved. |
| |
| Already closed MediaKeySession should resolve the "closed" promise immediately. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| Promise resolved OK |
| "closed" promise correctly resolved. |
| |
| Closing a closed MediaKeySession should resolve. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| |
| Operating on a closed MediaKeySession should resolve for close(), reject otherwise. |
| RUN(kids = JSON.stringify({ kids: [ "MTIzNDU=" ] })) |
| RUN(mediaKeySession = mediaKeys.createSession("temporary")) |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.generateRequest("keyids", encoder.encode(kids))) |
| Promise rejected correctly OK |
| RUN(promise = mediaKeySession.update(encoder.encode("some-data"))) |
| Promise rejected correctly OK |
| RUN(promise = mediaKeySession.close()) |
| Promise resolved OK |
| RUN(promise = mediaKeySession.remove()) |
| Promise rejected correctly OK |
| END OF TEST |
| |