| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| |
| <script src=../media-file.js></script> |
| <script src=../video-test.js></script> |
| <script> |
| |
| var cues; |
| |
| function logSpecURL(url, description) |
| { |
| consoleWrite("<br><i>" + description + "</i>"); |
| consoleWrite("<a href=" + url + ">" + url + "<" + "/a>"); |
| } |
| |
| function trackLoaded() |
| { |
| track = document.getElementById('captions'); |
| cues = track.track.cues; |
| |
| consoleWrite("** Test initial values."); |
| run("textCue = cues.getCueById('1')"); |
| |
| testExpected("textCue.startTime", 0); |
| testExpected("textCue.endTime", 1.0); |
| testExpected("textCue.pauseOnExit", false); |
| testExpected("textCue.vertical", ""); |
| testExpected("textCue.snapToLines", true); |
| testExpected("textCue.line", -1); |
| testExpected("textCue.position", 'auto'); |
| testExpected("textCue.size", 100); |
| testExpected("textCue.align", "center"); |
| |
| consoleWrite("<br>** Modify cue values."); |
| |
| run("textCue.startTime = 1.1"); |
| testExpected("textCue.startTime", 1.1); |
| |
| consoleWrite(""); |
| run("textCue.endTime = 3.9"); |
| testExpected("textCue.endTime", 3.9); |
| |
| consoleWrite(""); |
| run("textCue.pauseOnExit = true"); |
| testExpected("textCue.pauseOnExit", true); |
| |
| logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-vertical", |
| "On setting, the text track cue writing direction must be set to the value ... is a case-sensitive match for the new value, if any. If none of the values match, then the user agent must instead throw a SyntaxError exception."); |
| testDOMException("textCue.vertical = 'RL'", "DOMException.SYNTAX_ERR"); |
| testExpected("textCue.vertical", ""); |
| run("textCue.vertical = 'rl'"); |
| testExpected("textCue.vertical", "rl"); |
| |
| consoleWrite(""); |
| run("textCue.snapToLines = false"); |
| testExpected("textCue.snapToLines", false); |
| |
| logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-line", |
| "On setting, if the text track cue snap-to-lines flag is not set, and the new value is negative or greater than 100, then throw an IndexSizeError exception."); |
| testDOMException("textCue.line = -2", "DOMException.INDEX_SIZE_ERR"); |
| testDOMException("textCue.line = 102", "DOMException.INDEX_SIZE_ERR"); |
| testExpected("textCue.line", -1); |
| run("textCue.line = 42"); |
| testExpected("textCue.line", 42); |
| run("textCue.snapToLines = true"); |
| run("textCue.line = -2"); |
| testExpected("textCue.line", -2); |
| run("textCue.line = 102"); |
| testExpected("textCue.line", 102); |
| |
| logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-line", |
| "On setting, if the new value is negative or greater than 100, then throw an IndexSizeError exception. Otherwise, set the text track cue text position to the new value."); |
| testDOMException("textCue.position = -200", "DOMException.INDEX_SIZE_ERR"); |
| testDOMException("textCue.position = 110", "DOMException.INDEX_SIZE_ERR"); |
| run("textCue.position = 11"); |
| testExpected("textCue.position", 11); |
| |
| logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-size", |
| "On setting, if the new value is negative or greater than 100, then throw an IndexSizeError exception. Otherwise, set the text track cue size to the new value."); |
| testDOMException("textCue.size = -200", "DOMException.INDEX_SIZE_ERR"); |
| testDOMException("textCue.size = 110", "DOMException.INDEX_SIZE_ERR"); |
| run("textCue.size = 57"); |
| testExpected("textCue.size", 57); |
| |
| logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-align", |
| "On setting, the text track cue alignment must be set to the value ... is a case-sensitive match for the new value, if any. If none of the values match, then the user agent must instead throw a SyntaxError exception."); |
| testDOMException("textCue.align = 'End'", "DOMException.SYNTAX_ERR"); |
| testExpected("textCue.align", "center"); |
| run("textCue.align = 'end'"); |
| testExpected("textCue.align", "end"); |
| |
| consoleWrite(""); |
| endTest(); |
| } |
| |
| setCaptionDisplayMode('Automatic'); |
| </script> |
| </head> |
| <body> |
| <p>Tests modifying attributes of a TextTrackCue</p> |
| <video controls> |
| <track id="captions" src="captions-webvtt/captions.vtt" kind="captions" onload="trackLoaded()" default> |
| </video> |
| </body> |
| </html> |