OLD | NEW |
---|---|
1 /* Copyright 2015 The Chromium Authors. All rights reserved. | 1 /* Copyright 2015 The Chromium Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
4 * | 4 * |
5 * Exported function: | 5 * Exported function: |
6 * - assertAttributeInterpolation({property, [from], [to], [fromComposite], [to Composite], [underlying]}, [{at: fraction, is: value}]) | 6 * - assertAttributeInterpolation({property, [from], [to], [fromComposite], [to Composite], [underlying]}, [{at: fraction, is: value}]) |
7 * Constructs a test case for each fraction that asserts the expected val ue | 7 * Constructs a test case for each fraction that asserts the expected val ue |
8 * equals the value produced by interpolation between from and to composi ted | 8 * equals the value produced by interpolation between from and to composi ted |
9 * onto underlying by fromComposite and toComposite respectively using | 9 * onto underlying by fromComposite and toComposite respectively using |
10 * SMIL and Web Animations. | 10 * SMIL and Web Animations. |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
361 | 361 |
362 assert_equals( | 362 assert_equals( |
363 normalizeValue(actualResult), | 363 normalizeValue(actualResult), |
364 normalizeValue(getAttributeValue(expected, params.property))); | 364 normalizeValue(getAttributeValue(expected, params.property))); |
365 }, `${method}: ${description} at (${expectation.at}) is [${expectation.is} ]`); | 365 }, `${method}: ${description} at (${expectation.at}) is [${expectation.is} ]`); |
366 }; | 366 }; |
367 | 367 |
368 return target; | 368 return target; |
369 } | 369 } |
370 | 370 |
371 function reprKeyframe(x) { | |
dstockwell
2015/11/23 04:51:43
this isn't python. repr is a bit weird.
alancutter (OOO until 2018)
2015/11/23 06:10:36
This change is out of date with other landed patch
| |
372 return (typeof x === 'string') ? "'" + x + "'" : null; | |
373 } | |
374 | |
371 function createTestTargets(interpolationTests, container, rebaselineContainer) { | 375 function createTestTargets(interpolationTests, container, rebaselineContainer) { |
372 var targets = []; | 376 var targets = []; |
373 for (var interpolationTest of interpolationTests) { | 377 for (var interpolationTest of interpolationTests) { |
374 var params = interpolationTest.params; | 378 var params = interpolationTest.params; |
375 params.fromComposite = 'from' in params ? (params.fromComposite || 'replac e') : 'add'; | 379 params.fromComposite = 'from' in params ? (params.fromComposite || 'replac e') : 'add'; |
376 params.toComposite = 'to' in params ? (params.toComposite || 'replace') : 'add'; | 380 params.toComposite = 'to' in params ? (params.toComposite || 'replace') : 'add'; |
377 var underlyingText = params.underlying ? `with underlying [${params.underl ying}] ` : ''; | 381 var underlyingText = params.underlying ? `with underlying [${params.underl ying}] ` : ''; |
378 var fromText = 'from' in params ? `${params.fromComposite} [${params.from} ]` : 'neutral'; | 382 var fromText = 'from' in params ? `${params.fromComposite} [${params.from} ]` : 'neutral'; |
379 var toText = 'to' in params ? `${params.toComposite} [${params.to}]` : 'ne utral'; | 383 var toText = 'to' in params ? `${params.toComposite} [${params.to}]` : 'ne utral'; |
380 var description = `Interpolate attribute <${params.property}> ${underlying Text}from ${fromText} to ${toText}`; | 384 var description = `Interpolate attribute <${params.property}> ${underlying Text}from ${fromText} to ${toText}`; |
381 | 385 |
382 if (rebaselineTests) { | 386 if (rebaselineTests) { |
383 var rebaseline = createElement('pre', rebaselineContainer); | 387 var rebaseline = createElement('pre', rebaselineContainer); |
384 | |
385 var fromCode = 'from' in params ? ` | |
386 from: '${params.from}', | |
387 fromComposite: '${params.fromComposite}',` : ''; | |
388 | |
389 var toCode = 'to' in params ? ` | |
390 to: '${params.to}', | |
391 toComposite: '${params.toComposite}',` : ''; | |
392 | |
393 rebaseline.appendChild(document.createTextNode(`\ | 388 rebaseline.appendChild(document.createTextNode(`\ |
394 assertAttributeInterpolation({ | 389 assertAttributeInterpolation({ |
395 property: '${params.property}', | 390 property: '${params.property}', |
396 underlying: '${params.underlying}',${fromCode}${toCode} | 391 underlying: '${params.underlying}', |
392 from: ${reprKeyframe(params.from)}, | |
393 fromComposite: '${params.fromComposite}', | |
394 to: ${reprKeyframe(params.to)}, | |
395 toComposite: '${params.toComposite}', | |
397 }, [\n`)); | 396 }, [\n`)); |
398 var rebaselineExpectation; | 397 var rebaselineExpectation; |
399 rebaseline.appendChild(rebaselineExpectation = document.createTextNode(' ')); | 398 rebaseline.appendChild(rebaselineExpectation = document.createTextNode(' ')); |
400 rebaseline.appendChild(document.createTextNode(']);\n\n')); | 399 rebaseline.appendChild(document.createTextNode(']);\n\n')); |
401 } | 400 } |
402 | 401 |
403 for (var method of ['SMIL', 'Web Animations']) { | 402 for (var method of ['SMIL', 'Web Animations']) { |
404 if (method === 'SMIL' && params.fromComposite !== params.toComposite) { | 403 if (method === 'SMIL' && params.fromComposite !== params.toComposite) { |
405 continue; | 404 continue; |
406 } | 405 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
455 return loadScript('../../resources/testharnessreport.js'); | 454 return loadScript('../../resources/testharnessreport.js'); |
456 }).then(() => { | 455 }).then(() => { |
457 var asyncHandle = async_test('This test uses interpolation-test.js.') | 456 var asyncHandle = async_test('This test uses interpolation-test.js.') |
458 requestAnimationFrame(() => { | 457 requestAnimationFrame(() => { |
459 runTests().then(() => asyncHandle.done()); | 458 runTests().then(() => asyncHandle.done()); |
460 }); | 459 }); |
461 }); | 460 }); |
462 | 461 |
463 window.assertAttributeInterpolation = assertAttributeInterpolation; | 462 window.assertAttributeInterpolation = assertAttributeInterpolation; |
464 })(); | 463 })(); |
OLD | NEW |