Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
| 2 <html> | |
| 3 <head> | |
| 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| 5 | |
| 6 <script src=../media-file.js></script> | |
| 7 <script src=../video-test.js></script> | |
| 8 <script> | |
| 9 function loaded() | |
| 10 { | |
| 11 expectedData = new Uint8Array([4, 5, 2, 1, 9]); | |
| 12 cue = new DataCue(3, 10, expectedData.buffer); | |
| 13 | |
| 14 consoleWrite("<br>*** Test DataCue's TextTrackCue interface."); | |
| 15 testExpected("cue", TextTrackCue, "instanceof"); | |
| 16 testExpected("cue.track", null); | |
| 17 testExpected("cue.id", ""); | |
| 18 testExpected("cue.startTime", 3); | |
| 19 testExpected("cue.endTime", 10); | |
| 20 testExpected("cue.pauseOnExit", false); | |
| 21 | |
| 22 consoleWrite("<br>*** Test DataCue interface."); | |
| 23 testExpected("cue", DataCue, "instanceof"); | |
| 24 testArraysEqual("new Uint8Array(cue.data)", expectedData); | |
| 25 testExpected("cue.text", null); | |
| 26 | |
| 27 // https://www.w3.org/Bugs/Public/show_bug.cgi?id=24687 | |
| 28 consoleWrite("<br>*** Changing the original buffer data should n ot effect DataCue.data."); | |
| 29 | |
| 30 // Passing data to constructor then changing the original buffer | |
| 31 run("expectedData[0] = 7"); | |
| 32 testExpected("new Uint8Array(cue.data)[0]", 4); | |
| 33 | |
| 34 // Setting .data then changing the original buffer | |
| 35 run("cue.data = expectedData.buffer"); | |
| 36 testExpected("new Uint8Array(cue.data)[0]", 7); | |
| 37 run("expectedData[0] = 11"); | |
| 38 testExpected("new Uint8Array(cue.data)[0]", 7); | |
| 39 | |
| 40 // Getting .data then changing the original buffer | |
| 41 run("new Uint8Array(cue.data)[0] = 8"); | |
| 42 testExpected("(new Uint8Array(cue.data))[0]", 7); | |
| 43 | |
| 44 consoleWrite("<br>*** Throw exception if data is not an ArrayBuf fer."); | |
| 45 var error = "'TypeError: Type error'"; | |
| 46 testDOMException("cue.data = null", "DOMException.INVALID_NODE_T YPE_ERR"); | |
|
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
Shouldn't all these invalid assignments be TypeErr
| |
| 47 testDOMException("cue.data = 'test'", "DOMException.INVALID_NODE _TYPE_ERR"); | |
| 48 testDOMException("cue.data = [5]", "DOMException.INVALID_NODE_TY PE_ERR"); | |
| 49 testDOMException("badCue = new DataCue(1, 2, null)", "DOMExcepti on.INVALID_NODE_TYPE_ERR"); | |
| 50 testDOMException("badCue = new DataCue(1, 2, 'test')", "DOMExcep tion.INVALID_NODE_TYPE_ERR"); | |
| 51 testDOMException("badCue = new DataCue(1, 2, [5])", "DOMExceptio n.INVALID_NODE_TYPE_ERR"); | |
| 52 | |
| 53 consoleWrite("<br>*** Test adding DataCue to track with kind = ' metadata'."); | |
| 54 var video = document.createElement("video"); | |
| 55 metadataTrack = video.addTextTrack("metadata"); | |
| 56 metadataTrack.addCue(cue); | |
| 57 | |
| 58 testExpected("cue.track", metadataTrack); | |
| 59 testExpected("metadataTrack.cues[0]", cue); | |
| 60 | |
| 61 consoleWrite("<br>*** Test adding DataCue to track with kind != 'metadata'."); | |
| 62 ["subtitles", "captions", "descriptions", "chapters"].forEach(fu nction(kind) { | |
| 63 track = video.addTextTrack(kind); | |
| 64 | |
| 65 testDOMException("track.addCue(cue)", "DOMException.INVALID_ NODE_TYPE_ERR"); | |
| 66 testExpected("track.cues.length", 0); | |
| 67 }); | |
| 68 | |
| 69 endTest(); | |
| 70 } | |
| 71 </script> | |
| 72 </head> | |
| 73 <body onload="loaded()"> | |
| 74 <p>Tests DataCue interface</p> | |
| 75 </body> | |
| 76 </html> | |
| OLD | NEW |