| Index: LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html
|
| diff --git a/LayoutTests/media/track/opera/track/track-element/cloneNode.html b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html
|
| similarity index 55%
|
| copy from LayoutTests/media/track/opera/track/track-element/cloneNode.html
|
| copy to LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html
|
| index 986c25a2cf8550ea0ccaee4b86c9d9c64c891d20..869aedb633f28cd81d816efa5cef0d21b30c36f6 100644
|
| --- a/LayoutTests/media/track/opera/track/track-element/cloneNode.html
|
| +++ b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html
|
| @@ -1,41 +1,43 @@
|
| <!doctype html>
|
| <title>track element cloneNode</title>
|
| -<script src="../../../../../resources/testharness.js"></script>
|
| -<script src="../../../../../resources/testharnessreport.js"></script>
|
| +<script src="../../../../../../../../resources/testharness.js"></script>
|
| +<script src="../../../../../../../../resources/testharnessreport.js"></script>
|
| <div id=log></div>
|
| <script>
|
| test(function() {
|
| var elm = document.createElement('track');
|
| assert_equals(elm.readyState, elm.NONE, 'elm.readyState after element creation');
|
| - elm.track.mode = 'showing';
|
| - assert_equals(elm.readyState, elm.LOADING, 'elm.readyState after setting mode');
|
| var clone = elm.cloneNode(true);
|
| assert_equals(clone.readyState, clone.NONE, 'clone.readyState after element creation');
|
| - clone.track.mode = 'showing';
|
| - assert_equals(clone.readyState, clone.LOADING, 'clone.readyState after setting mode');
|
| assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| }, document.title+', not loaded');
|
| -test(function() {
|
| +
|
| +async_test(function(t) {
|
| var elm = document.createElement('track');
|
| - assert_equals(elm.readyState, elm.NONE, 'elm.readyState after element creation');
|
| + var video = document.createElement('video');
|
| + video.appendChild(elm);
|
| elm.track.mode = 'showing';
|
| - assert_equals(elm.readyState, elm.LOADING, 'elm.readyState after setting mode');
|
| - elm.src = 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nfoo');
|
| - assert_equals(elm.readyState, elm.LOADING, 'elm.readyState after setting src');
|
| - var clone = elm.cloneNode(true);
|
| - assert_equals(clone.readyState, clone.NONE, 'clone.readyState after element creation');
|
| - clone.track.mode = 'showing';
|
| - assert_equals(clone.readyState, clone.LOADING, 'clone.readyState after setting mode');
|
| - assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| + assert_equals(elm.readyState, elm.NONE, 'elm.readyState after appening to video setting mode');
|
| + elm.src = 'resources/track.vtt?pipe=trickle(d1)';
|
| + assert_equals(elm.readyState, elm.NONE, 'elm.readyState after setting src');
|
| + setTimeout(t.step_func_done(function() {
|
| + assert_equals(elm.readyState, elm.LOADING, 'elm.readyState in setTimeout');
|
| + var clone = elm.cloneNode(true);
|
| + assert_equals(clone.readyState, clone.NONE, 'clone.readyState after element creation');
|
| + video.appendChild(clone);
|
| + clone.track.mode = 'showing';
|
| + assert_equals(clone.readyState, clone.NONE, 'clone.readyState after appending to video and setting mode');
|
| + assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| + }), 0);
|
| }, document.title+', loading');
|
|
|
| -var t_loaded = async_test(document.title+', loaded');
|
| -t_loaded.step(function() {
|
| +async_test(function(t) {
|
| var elm = document.createElement('track');
|
| - assert_equals(elm.readyState, elm.NONE, 'elm.readyState after element creation');
|
| + var video = document.createElement('video');
|
| + video.appendChild(elm);
|
| elm.track.mode = 'showing';
|
| - assert_equals(elm.readyState, elm.LOADING, 'elm.readyState after setting mode');
|
| elm.src = 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nfoo');
|
| + assert_equals(elm.readyState, elm.NONE, 'elm.readyState after setting src');
|
| elm.onload = this.step_func(function() {
|
| assert_equals(elm.readyState, elm.LOADED, 'elm.readyState');
|
| assert_equals(elm.track.cues.length, 1, 'elm.track.cues.length');
|
| @@ -44,8 +46,9 @@ t_loaded.step(function() {
|
| assert_equals(elm.track.cues[0].text, 'foo', 'elm.track.cues[0].text');
|
| var clone = elm.cloneNode(true);
|
| assert_equals(clone.readyState, clone.NONE, 'clone.readyState after element creation');
|
| + video.appendChild(clone);
|
| clone.track.mode = 'showing';
|
| - assert_equals(clone.readyState, clone.LOADING, 'clone.readyState after setting mode');
|
| + assert_equals(clone.readyState, clone.NONE, 'clone.readyState after appending to video and setting mode');
|
| assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| clone.onload = this.step_func(function(){
|
| assert_equals(clone.readyState, clone.LOADED, 'clone.readyState');
|
| @@ -61,10 +64,23 @@ t_loaded.step(function() {
|
| clone.onerror = this.step_func(function() { assert_unreached('clone got error'); });
|
| });
|
| elm.onerror = this.step_func(function() { assert_unreached('elm got error'); });
|
| - assert_equals(elm.readyState, elm.LOADING, 'elm.readyState');
|
| - var clone = elm.cloneNode(true);
|
| - assert_equals(clone.readyState, clone.NONE, 'clone.readyState');
|
| - assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| -});
|
| +}, document.title+', loaded');
|
|
|
| +async_test(function(t) {
|
| + var elm = document.createElement('track');
|
| + var video = document.createElement('video');
|
| + video.appendChild(elm);
|
| + elm.track.mode = 'showing';
|
| + elm.onerror = t.step_func(function() {
|
| + assert_equals(elm.readyState, elm.ERROR, 'elm.readyState in onerror');
|
| + var clone = elm.cloneNode(true);
|
| + assert_equals(clone.readyState, clone.NONE, 'clone.readyState after element creation');
|
| + video.appendChild(clone);
|
| + clone.track.mode = 'showing';
|
| + assert_equals(clone.readyState, clone.NONE, 'clone.readyState after appending to video and setting mode');
|
| + assert_not_equals(clone.track, elm.track, 'clone.track and elm.track');
|
| + clone.onerror = t.step_func_done();
|
| + });
|
| + elm.src = 'javascript:"network error"';
|
| +}, document.title+', failed to load');
|
| </script>
|
|
|