| Index: bower_components/web-animations-js/test/testcases/disabled-media.html
|
| diff --git a/bower_components/web-animations-js/test/testcases/disabled-media.html b/bower_components/web-animations-js/test/testcases/disabled-media.html
|
| deleted file mode 100644
|
| index b5862fc530b8f26eeb7bb5373c5d3b4e375c990c..0000000000000000000000000000000000000000
|
| --- a/bower_components/web-animations-js/test/testcases/disabled-media.html
|
| +++ /dev/null
|
| @@ -1,439 +0,0 @@
|
| -<!--
|
| -Copyright 2013 Google Inc. All Rights Reserved.
|
| -
|
| -Licensed under the Apache License, Version 2.0 (the "License");
|
| -you may not use this file except in compliance with the License.
|
| -You may obtain a copy of the License at
|
| -
|
| - http://www.apache.org/licenses/LICENSE-2.0
|
| -
|
| -Unless required by applicable law or agreed to in writing, software
|
| -distributed under the License is distributed on an "AS IS" BASIS,
|
| -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -See the License for the specific language governing permissions and
|
| -limitations under the License.
|
| --->
|
| -
|
| -<!--
|
| -Requires the test harness to allow tests to be added after page load. See
|
| -https://github.com/web-animations/web-animations-js/issues/321
|
| --->
|
| -
|
| -<!DOCTYPE html><meta charset="UTF-8">
|
| -<style type="text/css">
|
| -video {
|
| - width: 100px;
|
| -}
|
| -</style>
|
| -
|
| -<!--
|
| -Videos are taken from
|
| -http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5
|
| -
|
| -We serve them from a remote host to make sure they are served with a 206
|
| -response code, to work around Chrome bug
|
| -https://code.google.com/p/chromium/issues/detail?id=121765.
|
| --->
|
| -<div id="videos">
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| - <video preload="auto">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.webm" type="video/webm">
|
| - <source src="http://web-animations.github.io/web-animations-js/test/testcases/small.mp4" type="video/mp4">
|
| - </video>
|
| -</div>
|
| -
|
| -<script src="../bootstrap.js" nochecks></script>
|
| -<script>
|
| -"use strict";
|
| -
|
| -var dt = document.timeline;
|
| -
|
| -// Most of these tests require the video to have loaded before they run.
|
| -// However, the test harness does not allow timing_test()s to be started after
|
| -// the page has finished loading. This means that we can't add the video
|
| -// dynamically then wait for it to load before testing.
|
| -//
|
| -// As a best-effort work-around, we include all videos in static HTML with
|
| -// preload="auto" to hint to the browser that they should be loaded
|
| -// immediately. However, this does not guarantee that they will be loaded when
|
| -// the page's load event fires, so the tests are flaky.
|
| -//
|
| -// TODO: Fix the test runner to allow the use of async_test() with
|
| -// timing_test(), which will allow the video elements to be created dynamically.
|
| -// See https://github.com/web-animations/web-animations-js/issues/321
|
| -var videos = document.getElementById("videos").getElementsByTagName('video');
|
| -// Cache this length, as videos is a live NodeList.
|
| -var numStaticVideos = videos.length;
|
| -var nextIndex = 0;
|
| -function getNextVideo() {
|
| - if (nextIndex >= numStaticVideos) {
|
| - throw new Error('No more videos!');
|
| - }
|
| - return videos[nextIndex++];
|
| -}
|
| -
|
| -function createVideo() {
|
| - // Videos taken from
|
| - // http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5
|
| - var video = document.createElement("video");
|
| - var webmSource = document.createElement("source");
|
| - webmSource.setAttribute("src", "small.webm");
|
| - webmSource.setAttribute("type", "video/webm");
|
| - video.appendChild(webmSource);
|
| - var mp4Source = document.createElement("source");
|
| - mp4Source.setAttribute("src", "small.mp4");
|
| - mp4Source.setAttribute("type", "video/mp4");
|
| - video.appendChild(mp4Source);
|
| - document.getElementById("videos").appendChild(video);
|
| - return video;
|
| -}
|
| -
|
| -function testOnceVideosLoaded(callback, message) {
|
| - timing_test(function() {
|
| - at(0.0 * 1000, callback);
|
| - }, message);
|
| -}
|
| -
|
| -function createTestMediaReference(mediaElement, timing, parent) {
|
| - return new MediaReference(mediaElement, timing, parent, 0.0);
|
| -}
|
| -
|
| -var expectedVideoLength = 5.568;
|
| -
|
| -
|
| -// Test that MediaReference disables looping.
|
| -test(function() {
|
| - var video = getNextVideo();
|
| - video.loop = true;
|
| - createTestMediaReference(video);
|
| - assert_false(video.loop);
|
| -}, "MediaReference should disable looping");
|
| -
|
| -// Test intrinsic iteration duration before media loads.
|
| -test(function() {
|
| - assert_equals(createTestMediaReference(createVideo()).duration,
|
| - Infinity);
|
| -}, "Intrinsic duration should be Infinity before media loads");
|
| -
|
| -// Test intrinisc iteration duration.
|
| -testOnceVideosLoaded(function() {
|
| - assert_approx_equals(
|
| - createTestMediaReference(getNextVideo()).duration,
|
| - expectedVideoLength, 0.001);
|
| -}, "Intrinsic iteration duration should be media duration");
|
| -
|
| -// Test that iteration duration can be overridden.
|
| -testOnceVideosLoaded(function() {
|
| - assert_equals(createTestMediaReference(getNextVideo(), 1.0).duration,
|
| - 1.0);
|
| -}, "Iteration duration should be overridable");
|
| -
|
| -// Test basic use.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video));
|
| - assert_equals(video.playbackRate, 1.0);
|
| - assert_false(video.paused);
|
| - });
|
| -}, "Basic use");
|
| -
|
| -// Test clipping where duration limits. Video should be frozen at end
|
| -// of duration.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, 3.0));
|
| - });
|
| - at(3.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 3.0);
|
| - assert_true(video.paused);
|
| - });
|
| - at(4.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 3.0);
|
| - assert_true(video.paused);
|
| - });
|
| -}, "Video should be frozen at duration");
|
| -
|
| -// Test clipping where video length limits. Video should be frozen at end for
|
| -// remainder of duration.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, video.duration + 2));
|
| - });
|
| - // We can't use video.duration here because the video isn't yet loaded.
|
| - at(expectedVideoLength + 1, function() {
|
| - assert_equals(video.currentTime, video.duration);
|
| - assert_true(video.paused);
|
| - });
|
| - // We can't use video.duration here because the video isn't yet loaded.
|
| - at(expectedVideoLength + 2, function() {
|
| - assert_equals(video.currentTime, video.duration);
|
| - assert_true(video.paused);
|
| - });
|
| -}, "Video should be frozen at end");
|
| -
|
| -// Test fill with duration limiting. Video should be frozen at end of
|
| -// duration.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, 1.0));
|
| - });
|
| - at(2.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 1.0);
|
| - assert_equals(video.paused, true);
|
| - });
|
| -}, "Should freeze video at duration for fill");
|
| -
|
| -// Test fill with video length limiting. Video should be at end.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video), video.duration + 1.0);
|
| - });
|
| - // We can't use video.duration here because the video isn't yet loaded.
|
| - at(expectedVideoLength + 2, function() {
|
| - assert_equals(video.currentTime, video.duration);
|
| - });
|
| -}, "Should freeze video at end for fill");
|
| -
|
| -// Test no fill. Video should be frozen at start.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, {fill: "none"}));
|
| - });
|
| - // We can't use video.duration here because the video isn't yet loaded.
|
| - at(expectedVideoLength + 1, function() {
|
| - assert_equals(video.currentTime, 0);
|
| - assert_equals(video.paused, true);
|
| - });
|
| -}, "Should freeze video at start for no fill");
|
| -
|
| -// Test iterations.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video,
|
| - {iterations: 2.0, duration: 1.0 * 1000}));
|
| - });
|
| - at(1.5 * 1000, function() {
|
| - assert_equals(video.currentTime, 0.5);
|
| - });
|
| -}, "Video should respect iterations");
|
| -
|
| -// Test iterationStart.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video,
|
| - {iterationStart: 0.5, duration: 2.0 * 1000}));
|
| - });
|
| - at(0.5 * 1000, function() {
|
| - assert_equals(video.currentTime, 1.5);
|
| - });
|
| -}, "Video should respect iterationStart");
|
| -
|
| -// Test playback rate.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, {playbackRate: 2.0}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 2.0);
|
| - assert_equals(video.playbackRate, 2.0);
|
| - });
|
| -}, "Video should respect playbackRate");
|
| -
|
| -// Test heirachy of playback rates.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(new AnimationGroup([createTestMediaReference(video, {playbackRate: 1.5})],
|
| - {playbackRate: 2.5}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 3.75);
|
| - assert_equals(video.playbackRate, 3.75);
|
| - });
|
| -}, "Video should respect playbackRate heirachy");
|
| -
|
| -// Test interaction with MediaElement.defaultPlaybackRate.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - video.defaultPlaybackRate = 2.5;
|
| - dt.play(createTestMediaReference(video, {playbackRate: 1.5}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 3.75);
|
| - assert_equals(video.playbackRate, 3.75);
|
| - });
|
| -}, "Video should respect playbackRate after setting defaultPlaybackRate");
|
| -
|
| -// Test reversing.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, {direction: "reverse"}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_approx_equals(video.currentTime, video.duration - 1.0, 0.0001);
|
| - assert_equals(video.playbackRate, -1.0);
|
| - });
|
| -}, "Video should respect reversing");
|
| -
|
| -// Test negative playback rate.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, {playbackRate: -0.5}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_approx_equals(video.currentTime, video.duration - 0.5, 0.0001);
|
| - assert_equals(video.playbackRate, -0.5);
|
| - });
|
| -}, "Video should respect negative playbackRate");
|
| -
|
| -// Test interaction of reversing and playback rate.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(new AnimationGroup(
|
| - [createTestMediaReference(video, {playbackRate: -0.5})],
|
| - {playbackRate: 3.0, direction: "reverse"}));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 1.5);
|
| - assert_equals(video.playbackRate, 1.5);
|
| - });
|
| -}, "Video should respect reversing and playbackRate");
|
| -
|
| -// Test zero duration.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - dt.play(createTestMediaReference(video, 0.0));
|
| - assert_equals(video.currentTime, 0.0);
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 0.0);
|
| - });
|
| -}, "Video should start at time zero when duration is zero");
|
| -
|
| -// Test zero intrinsic duration.
|
| -// TODO: Need to find a zero length video.
|
| -
|
| -// Test that media elements are removed from their MediaController.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - at(0.0 * 1000, function() {
|
| - video.controller = new MediaController();
|
| - dt.play(createTestMediaReference(video));
|
| - assert_equals(video.controller, null);
|
| - });
|
| - // Seeking the video will throw if the controller has not been detached.
|
| - at(1.0 * 1000, function() {
|
| - assert_equals(video.currentTime, 1.0);
|
| - });
|
| -}, "Video should be detached from controller when used in MediaReference");
|
| -
|
| -// Test limited seek ranges.
|
| -// TODO: Need to find a video with limited seek ranges.
|
| -
|
| -// Test that video is paused when its MediaReference is detached from its
|
| -// AnimationPlayer.
|
| -timing_test(function() {
|
| - var video = getNextVideo();
|
| - var player;
|
| - at(0.0 * 1000, function() {
|
| - player = dt.play(createTestMediaReference(video));
|
| - });
|
| - at(1.0 * 1000, function() {
|
| - assert_false(video.paused);
|
| - player.source = null;
|
| - });
|
| - at(2.0 * 1000, function() {
|
| - assert_true(video.paused);
|
| - });
|
| -}, "Video should be paused when MediaReference is detached from its AnimationPlayer");
|
| -
|
| -</script>
|
|
|