Chromium Code Reviews| Index: LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html |
| diff --git a/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html b/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html |
| index 2ef08db836bd900ef0c33de0c48ae81fc95c9bc3..ff8042b3f6b100a8f9b44de94a8270967430baeb 100644 |
| --- a/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html |
| +++ b/LayoutTests/fast/mediastream/MediaStream-add-remove-tracks.html |
| @@ -9,6 +9,7 @@ description("Test adding and removing tracks."); |
| var stream1; |
| var stream2; |
| +var stream3; |
| var audioTrack; |
| var videoTrack; |
| @@ -48,6 +49,23 @@ function shouldNotFire() { |
| testFailed("\"addtrack\" or \"removetrack\" events should not fire as a result of local addTrack() or removeTrack() operations."); |
| } |
| +function onStreamActive() { |
| + testPassed('Stream1 active.'); |
|
hta - Chromium
2015/01/14 14:12:01
Please verify the value of stream3.active in both
|
| +} |
| + |
| +function onStreamInactive() { |
| + testPassed('Stream1 inactive.'); |
| + setTimeout(finishJSTest, 0); |
| +} |
|
hta - Chromium
2015/01/14 14:12:01
This file has been written with the last callback
|
| + |
| +function gotStream3(s) { |
| + stream3 = s; |
| + stream1.onactive = onStreamActive; |
| + stream1.oninactive = onStreamInactive; |
| + tryAddTrack(stream1, stream3.getAudioTracks()[0]); |
| + tryRemoveTrack(stream1, stream3.getAudioTracks()[0]); |
| +} |
| + |
| function gotStream2(s) { |
| stream2 = s; |
| @@ -116,17 +134,18 @@ function gotStream2(s) { |
| shouldBe('stream1.getVideoTracks().length', '2'); |
| shouldBe('stream1.getTracks().length', '4'); |
| - // when all tracks have been removed, stream.ended should return true. |
| + // when all tracks have been removed, stream.active should return false. |
| tryRemoveTrack(stream2, stream2.getAudioTracks()[0]); |
| tryRemoveTrack(stream2, stream2.getVideoTracks()[0]); |
| - shouldBeTrue('stream2.ended'); |
| - |
| - stream1.stop(); |
| - |
| - shouldThrow('stream1.addTrack(audioTrack)'); |
| - shouldThrow('stream1.removeTrack(audioTrack)'); |
| - |
| - setTimeout(finishJSTest, 0); |
| + shouldBeFalse('stream2.active'); |
| + |
| + // stop all tracks of stream1 |
| + for (var i = 0; i < stream1.getAudioTracks().length; i++) |
| + stream1.getAudioTracks()[i].stop(); |
| + for (var i = 0; i < stream1.getVideoTracks().length; i++) |
| + stream1.getVideoTracks()[i].stop(); |
| + shouldBeFalse('stream1.active'); |
| + getUserMedia({audio:true, video:true}, gotStream3); |
| } |
| function gotStream1(s) { |