| Index: pkg/polymer/lib/elements/web-animations-js/test/testcases/unit-test-testharness.html
|
| diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/unit-test-testharness.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/unit-test-testharness.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b863e7275eecd8a62094371d0a44ac6e58746668
|
| --- /dev/null
|
| +++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/unit-test-testharness.html
|
| @@ -0,0 +1,248 @@
|
| +<!--
|
| +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.
|
| +-->
|
| +<!DOCTYPE html><meta charset="UTF-8">
|
| +<script src="../bootstrap.js"></script>
|
| +<script>
|
| +"use strict";
|
| +
|
| +test(function() {
|
| + var element = document.createElement('span');
|
| + assert_styles(element, {},
|
| + 'assert_styles should support an element with no parent');
|
| +
|
| + document.body.appendChild(element);
|
| + var childCount = document.body.children.length;
|
| + assert_styles(element, {});
|
| + assert_equals(childCount, document.body.children.length,
|
| + 'assert_styles should not leave additional elements in the dom');
|
| +}, 'assert_styles reference_element');
|
| +
|
| +test(function() {
|
| + try {
|
| + assert_styles(null, {});
|
| + assert_unreached();
|
| + } catch (e) {
|
| + assert_equals(e.message, 'Expected Array, NodeList or Element but got null');
|
| + }
|
| +}, 'assert_styles invalid arguments');
|
| +
|
| +test(function() {
|
| + var element = document.createElement('span');
|
| + document.body.appendChild(element);
|
| +
|
| + try {
|
| + assert_styles(element, {'left': 'abc123'}, "Description 1");
|
| + assert_unreached();
|
| + } catch (e) {
|
| + assert_regexp_match(e.message, /^Tried to set the reference element\'s left to "abc123" but neither/);
|
| + }
|
| +
|
| + try {
|
| + assert_styles(element, {'clip': 'rect(1px 2px 3px 4px)'});
|
| + assert_unreached();
|
| + } catch (e) {
|
| + assert_regexp_match(e.message, /Actual - /);
|
| + }
|
| +}, 'assert_styles given invalid style');
|
| +
|
| +test(function() {
|
| + var element = document.createElement('span');
|
| + document.body.appendChild(element);
|
| + element.style.left = '-100px';
|
| + try {
|
| + assert_styles(element, {left: '100px'});
|
| + assert_unreached();
|
| + } catch(e) {
|
| + }
|
| +}, 'assert_styles should handle negative specified values');
|
| +
|
| +test(function() {
|
| + var element = document.createElement('span');
|
| + document.body.appendChild(element);
|
| + element.style.left = '100px';
|
| + try {
|
| + assert_styles(element, {left: '-100px'});
|
| + assert_unreached();
|
| + } catch(e) {
|
| + }
|
| +}, 'assert_styles should handle negative expected values');
|
| +
|
| +test(function() {
|
| + var element = document.createElement('span');
|
| + document.body.appendChild(element);
|
| + element.style.left = '-100px';
|
| + assert_styles(element, {left: '-100px'});
|
| +}, 'assert_styles should handle negative values');
|
| +
|
| +test(function() {
|
| + var AssertionError = window.assert_styles_assertion_error;
|
| + var assert = window.assert_styles_assert_important_in_array;
|
| +
|
| + assert('matrix(1%)', ['matrix(1%)']);
|
| + assert('matrix(1%)', ['', 'matrix(1%)']);
|
| + assert('matrix(1% 1px)', ['matrix(1%, 1px)']);
|
| + assert('rect(1px 2px 3px 4px)', ['rect(1px 2px 3px 4px)']);
|
| + assert('rect(1px 2px 3px 4px)', ['rect(1px, 2px, 3px, 4px)']);
|
| +
|
| + try {
|
| + assert('', [], 'empty');
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_regexp_match(e.message, /^empty/);
|
| + }
|
| +
|
| + try {
|
| + assert('matrix(1%)', [], 'matrix 1% to empty');
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_regexp_match(e.message, /^matrix 1% to empty/);
|
| + }
|
| +
|
| + try {
|
| + assert('matrix(1%)', [''], 'matrix 1% to empty string');
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_regexp_match(e.message, /^matrix 1% to empty string\n/);
|
| + }
|
| +
|
| + try {
|
| + assert('matrix(1%)', ['matrix(1px)'], 'matrix 1% to matrix 1px');
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_regexp_match(e.message, /^matrix 1% to matrix 1px/);
|
| + }
|
| +
|
| + /* Check that it only needs to match to 4 significant figures */
|
| + assert('1', [1.0001]);
|
| + assert('1.0001', [1]);
|
| + try {
|
| + assert('1', [1.001]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('10', [10.001]);
|
| + assert('10.001', [10]);
|
| + try {
|
| + assert('10', [10.01]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('2.0', [2.0001]);
|
| + assert('2.0001', [2]);
|
| + try {
|
| + assert('2', [2.001]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('20.0', [20.001]);
|
| + assert('20.001', [20]);
|
| + try {
|
| + assert('20.0', [20.01]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('40e2', [4000.1]);
|
| + assert('40.001e2', [4000]);
|
| + try {
|
| + assert('40e2', [4001]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('40e+3', [40001]);
|
| + assert('40.001e+3', [40000]);
|
| + try {
|
| + assert('40e+3', [40010]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| + assert('50e-4', [0.0050001]);
|
| + assert('50.001e-4', [0.005]);
|
| + try {
|
| + assert('50e-4', [0.005001]);
|
| + assert_unreached();
|
| + } catch(e) {
|
| + assert_not_equals(e.message, "assert_unreached: Reached unreachable code");
|
| + }
|
| +
|
| +}, 'Checking assert_important_in_array works');
|
| +
|
| +test(function() {
|
| + var ei = window.assert_styles_extract_important;
|
| +
|
| + assert_array_equals(ei('1'), [1]);
|
| + assert_array_equals(ei('10'), [10]);
|
| + assert_array_equals(ei('2.0'), [2.0]);
|
| + assert_array_equals(ei('20.0'), [20.0]);
|
| + assert_array_equals(ei('40e2'), [4000.0]);
|
| + assert_array_equals(ei('40e+3'), [40000.0]);
|
| + assert_array_equals(ei('50e-4'), [0.005]);
|
| + assert_array_equals(ei('60.6e-4'), [0.00606]);
|
| +
|
| + assert_array_equals(ei('+1'), [1]);
|
| + assert_array_equals(ei('+10'), [10]);
|
| + assert_array_equals(ei('+2.0'), [2.0]);
|
| + assert_array_equals(ei('+20.0'), [20.0]);
|
| + assert_array_equals(ei('+40e2'), [4000.0]);
|
| + assert_array_equals(ei('+40e+3'), [40000.0]);
|
| + assert_array_equals(ei('+50e-4'), [0.005]);
|
| + assert_array_equals(ei('+60.6e-4'), [0.00606]);
|
| +
|
| + assert_array_equals(ei('-1'), [-1]);
|
| + assert_array_equals(ei('-10'), [-10]);
|
| + assert_array_equals(ei('-2.0'), [-2.0]);
|
| + assert_array_equals(ei('-20.0'), [-20.0]);
|
| + assert_array_equals(ei('-40e2'), [-4000]);
|
| + assert_array_equals(ei('-50e-3'), [-0.05]);
|
| + assert_array_equals(ei('-60.6e-4'), [-0.00606]);
|
| +
|
| + assert_array_equals(ei('matrix(1%'), ['matrix', 1, '%']);
|
| + assert_array_equals(ei('matrix(10px'), ['matrix', 10, 'px']);
|
| + assert_array_equals(ei('matrix(2.0em'), ['matrix', 2.0, 'em']);
|
| + assert_array_equals(ei('matrix(20.0en'), ['matrix', 20.0, 'en']);
|
| + assert_array_equals(ei('matrix(40e2ve'), ['matrix', 4000.0, 've']);
|
| + assert_array_equals(ei('matrix(40e+3vw'), ['matrix', 40000.0, 'vw']);
|
| + assert_array_equals(ei('matrix(50e-4%'), ['matrix', 0.005, '%']);
|
| +
|
| + assert_array_equals(ei('matrix('), ['matrix']);
|
| + assert_array_equals(ei('blah'), ['blah']);
|
| + assert_array_equals(ei('+'), []);
|
| + assert_array_equals(ei('none'), ['none']);
|
| + assert_array_equals(ei('----'), []);
|
| + assert_array_equals(ei('-a'), ['a']);
|
| + assert_array_equals(ei('b.j'), ['b', 'j']);
|
| +
|
| + assert_array_equals(ei('matrix(1, 0, 0, 1, 0, 0)'),
|
| + ['matrix', 1, 0, 0, 1, 0, 0]);
|
| + assert_array_equals(ei('matrix(1 0 0 1 0 0)'),
|
| + ['matrix', 1, 0, 0, 1, 0, 0]);
|
| + assert_array_equals(ei('matrix(0.9511, 0.309, -0.309, 0.9511, 0, 0)'),
|
| + ['matrix', 0.9511, 0.309, -0.309, 0.9511, 0, 0]);
|
| +
|
| +}, 'Checking important parts are extracted successfully');
|
| +
|
| +</script>
|
|
|