aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js')
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js b/tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js
deleted file mode 100644
index 73ce9ceefb3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-transforms/animation/resources/interpolation-testcommon.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-function test_interpolation(settings, expectations, name) {
- var message_prefix = name ? name + ': ' : '';
- // Returns a timing function that at 0.5 evaluates to progress.
- function timingFunction(progress) {
- if (progress === 0)
- return 'steps(1, end)';
- if (progress === 1)
- return 'steps(1, start)';
- var y = (8 * progress - 1) / 6;
- return 'cubic-bezier(0, ' + y + ', 1, ' + y + ')';
- }
-
- function RoundMatrix(style) {
- var matrixMatch = style.match(/^(matrix(3d)?)\(.+\)$/);
- if (!!matrixMatch) {
- var matrixType = matrixMatch[1];
- var matrixArgs = style.substr(matrixType.length);
- var extractmatrix = function(matrixStr) {
- var list = [];
- var regex = /[+\-]?[0-9]+[.]?[0-9]*(e[+/-][0-9]+)?/g;
- var match = undefined;
- do {
- match = regex.exec(matrixStr);
- if (match) {
- list.push(parseFloat(parseFloat(match[0]).toFixed(6)));
- }
- } while (match);
- return list;
- }
- return matrixType + '(' + extractmatrix(matrixArgs).join(', ') + ')';
- }
- return style;
- }
-
- test(function(){
- assert_true(CSS.supports(settings.property, settings.from), 'Value "' + settings.from + '" is supported by ' + settings.property);
- assert_true(CSS.supports(settings.property, settings.to), 'Value "' + settings.to + '" is supported by ' + settings.property);
- }, message_prefix + '"' + settings.from + '" and "' + settings.to + '" are valid ' + settings.property + ' values');
-
- for (var i = 0; i < expectations.length; ++i) {
- var progress = expectations[i].at;
- var expectation = expectations[i].expect;
- var animationId = 'anim' + i;
- var targetId = 'target' + i;
- var referenceId = 'reference' + i;
-
- test(function(){
- assert_true(CSS.supports(settings.property, expectation), 'Value "' + expectation + '" is supported by ' + settings.property);
-
- var stylesheet = document.createElement('style');
- stylesheet.textContent =
- '#' + targetId + ' {\n' +
- ' animation: 2s ' + timingFunction(progress) + ' -1s paused ' + animationId + ';\n' +
- '}\n' +
- '@keyframes ' + animationId + ' {\n' +
- ' 0% { ' + settings.property + ': ' + settings.from + '; }\n' +
- ' 100% { ' + settings.property + ': ' + settings.to + '; }\n' +
- '}\n' +
- '#' + referenceId + ' {\n' +
- ' ' + settings.property + ': ' + expectation + ';\n' +
- '}\n';
- document.head.appendChild(stylesheet);
-
- var target = document.createElement('div');
- target.id = targetId;
- document.body.appendChild(target);
-
- var reference = document.createElement('div');
- reference.id = referenceId;
- document.body.appendChild(reference);
- reference.style = '';
-
- var observed = RoundMatrix(getComputedStyle(target)[settings.property]);
- var expected = RoundMatrix(getComputedStyle(reference)[settings.property]);
- assert_equals(observed, expected);
- }, message_prefix + 'Animation between "' + settings.from + '" and "' + settings.to + '" at progress ' + progress);
- }
-}