| Index: pkg/polymer/lib/elements/web-animations-js/tutorial/tutorial-testing.js
|
| diff --git a/pkg/polymer/lib/elements/web-animations-js/tutorial/tutorial-testing.js b/pkg/polymer/lib/elements/web-animations-js/tutorial/tutorial-testing.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5bb26b8e31b6ac25519946103c25c13041f5cd44
|
| --- /dev/null
|
| +++ b/pkg/polymer/lib/elements/web-animations-js/tutorial/tutorial-testing.js
|
| @@ -0,0 +1,84 @@
|
| +/*
|
| + * 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.
|
| + */
|
| +"use strict";
|
| +
|
| +(function() {
|
| +var pass;
|
| +var completedTests;
|
| +var allDone;
|
| +var numTests;
|
| +
|
| +// Call to initialize the testing environment.
|
| +function setupTutorialTests() {
|
| + setState("Manual");
|
| + var timeOfAnimation = document.createElement('div');
|
| + timeOfAnimation.id = "animViewerText";
|
| + timeOfAnimation.innerHTML = "Current animation time: 0.00";
|
| + document.body.appendChild(timeOfAnimation);
|
| + numTests = 0;
|
| + completedTests = 0;
|
| + allDone = false;
|
| + pass = true;
|
| +}
|
| +
|
| +// This function mimics the async_test function in testharness.js so that
|
| +// extra-asserts.js will run as intended for a tutorial.
|
| +function async_test(func, name, properties) {
|
| + numTests++;
|
| + step = function(func) {
|
| + func();
|
| + if (!pass) {
|
| + parent.TryItDisplay.fail();
|
| + allDone = true;
|
| + };
|
| + };
|
| +
|
| + done = function() {
|
| + completedTests++;
|
| + if (completedTests == numTests && !allDone) {
|
| + allDone = true;
|
| + parent.TryItDisplay.pass();
|
| + };
|
| + };
|
| + return this;
|
| +}
|
| +
|
| +function assert_equals(actual, expected, description) {
|
| + pass = (actual == expected);
|
| +}
|
| +
|
| +function assert_approx_equals(actual, expected, epsilon, description) {
|
| + var lowerBound = expected - (epsilon / 2) < actual;
|
| + var upperBound = expected + (epsilon / 2) > actual;
|
| + pass = (lowerBound && upperBound);
|
| +}
|
| +
|
| +// This function is required to do nothing for tutorial testing,
|
| +// but extra-asserts calls it and thus without this function,
|
| +// extra-asserts.js will cause the page to crash.
|
| +function add_completion_callback(anything) {
|
| +}
|
| +
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +// Exposing functions to be accessed externally //
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +
|
| +window.setupTutorialTests = setupTutorialTests;
|
| +window.async_test = async_test;
|
| +window.assert_approx_equals = assert_approx_equals;
|
| +window.assert_equals = assert_equals;
|
| +window.add_completion_callback = add_completion_callback;
|
| +})();
|
|
|