Commit 3e845e72 authored by haozhe's avatar haozhe Committed by Commit Bot

Port css-ui related composition tests to external

Both Chrome and Firefox pass all tests

Bug: 1034538
Change-Id: I9f92d6b91fafacfc12e81a7bc5941a6e8e0e4868
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1974755
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Reviewed-by: default avatarXida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727641}
parent 392a011c
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>caret-color composition</title>
<link rel="help" href="https://drafts.csswg.org/css-ui-3/#propdef-caret-color">
<meta name="assert" content="caret-color supports animation by computed value">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
<body>
<style> <style>
.target { .target {
display: inline-block; display: inline-block;
font-size: 60pt; font-size: 60pt;
color: rgb(50, 50, 50); color: rgb(50, 50, 50);
} }
.expected { .expected {
margin-right: 15px; margin-right: 15px;
} }
...@@ -14,30 +24,30 @@ ...@@ -14,30 +24,30 @@
<template id="target-template">T</template> <template id="target-template">T</template>
<script src="../interpolation/resources/interpolation-test.js"></script> <script src="../interpolation/resources/interpolation-test.js"></script>
<script> <script>
assertComposition({ test_composition({
property: 'caret-color', property: 'caret-color',
underlying: 'rgb(50, 50, 50)', underlying: 'rgb(50, 50, 50)',
addFrom: 'rgb(100, 100, 100)', addFrom: 'rgb(100, 100, 100)',
addTo: 'rgb(200, 200, 200)', addTo: 'rgb(200, 200, 200)',
}, [ }, [
{at: -0.3, is: 'rgb(120, 120, 120)'}, {at: -0.3, expect: 'rgb(120, 120, 120)'},
{at: 0, is: 'rgb(150, 150, 150)'}, {at: 0, expect: 'rgb(150, 150, 150)'},
{at: 0.5, is: 'rgb(200, 200, 200)'}, {at: 0.5, expect: 'rgb(200, 200, 200)'},
{at: 1, is: 'rgb(250, 250, 250)'}, {at: 1, expect: 'rgb(250, 250, 250)'},
{at: 1.5, is: 'rgb(255, 255, 255)'}, {at: 1.5, expect: 'rgb(255, 255, 255)'},
]); ]);
assertComposition({ test_composition({
property: 'caret-color', property: 'caret-color',
underlying: 'auto', underlying: 'auto',
addFrom: 'rgb(100, 100, 100)', addFrom: 'rgb(100, 100, 100)',
addTo: 'rgb(200, 200, 200)', addTo: 'rgb(200, 200, 200)',
}, [ }, [
{at: -0.3, is: 'rgb(70, 70, 70)'}, {at: -0.3, expect: 'rgb(70, 70, 70)'},
{at: 0, is: 'rgb(100, 100, 100)'}, {at: 0, expect: 'rgb(100, 100, 100)'},
{at: 0.5, is: 'rgb(150, 150, 150)'}, {at: 0.5, expect: 'rgb(150, 150, 150)'},
{at: 1, is: 'rgb(200, 200, 200)'}, {at: 1, expect: 'rgb(200, 200, 200)'},
{at: 1.5, is: 'rgb(250, 250, 250)'}, {at: 1.5, expect: 'rgb(250, 250, 250)'},
]); ]);
</script> </script>
</body> </body>
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>outline-offset composition</title>
<link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-offset">
<meta name="assert" content="outline-offset supports animation by computed value">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
<body> <body>
<script src="../interpolation/resources/interpolation-test.js"></script>
<script> <script>
assertComposition({ test_composition({
property: 'outline-offset', property: 'outline-offset',
underlying: '50px', underlying: '50px',
addFrom: '100px', addFrom: '100px',
addTo: '200px', addTo: '200px',
}, [ }, [
{at: -0.3, is: '120px'}, {at: -0.3, expect: '120px'},
{at: 0, is: '150px'}, {at: 0, expect: '150px'},
{at: 0.5, is: '200px'}, {at: 0.5, expect: '200px'},
{at: 1, is: '250px'}, {at: 1, expect: '250px'},
{at: 1.5, is: '300px'}, {at: 1.5, expect: '300px'},
]); ]);
assertComposition({ test_composition({
property: 'outline-offset', property: 'outline-offset',
underlying: '100px', underlying: '100px',
addFrom: '10px', addFrom: '10px',
addTo: '2px', addTo: '2px',
}, [ }, [
{at: -0.5, is: '114px'}, {at: -0.5, expect: '114px'},
{at: 0, is: '110px'}, {at: 0, expect: '110px'},
{at: 0.5, is: '106px'}, {at: 0.5, expect: '106px'},
{at: 1, is: '102px'}, {at: 1, expect: '102px'},
{at: 1.5, is: '98px'}, {at: 1.5, expect: '98px'},
]); ]);
assertComposition({ test_composition({
property: 'outline-offset', property: 'outline-offset',
underlying: '10em', underlying: '10em',
addFrom: '100px', addFrom: '100px',
addTo: '20em', addTo: '20em',
}, [ }, [
{at: -0.3, is: 'calc(130px + 4em)'}, {at: -0.3, expect: 'calc(130px + 4em)'},
{at: 0, is: 'calc(100px + 10em)'}, {at: 0, expect: 'calc(100px + 10em)'},
{at: 0.5, is: 'calc(50px + 20em)'}, {at: 0.5, expect: 'calc(50px + 20em)'},
{at: 1, is: '30em'}, {at: 1, expect: '30em'},
{at: 1.5, is: 'calc(-50px + 40em)'}, {at: 1.5, expect: 'calc(-50px + 40em)'},
]); ]);
assertComposition({ test_composition({
property: 'outline-offset', property: 'outline-offset',
underlying: '50px', underlying: '50px',
addFrom: '100px', addFrom: '100px',
replaceTo: '200px', replaceTo: '200px',
}, [ }, [
{at: -0.3, is: '135px'}, {at: -0.3, expect: '135px'},
{at: 0, is: '150px'}, {at: 0, expect: '150px'},
{at: 0.5, is: '175px'}, {at: 0.5, expect: '175px'},
{at: 1, is: '200px'}, {at: 1, expect: '200px'},
{at: 1.5, is: '225px'}, {at: 1.5, expect: '225px'},
]); ]);
</script> </script>
</body> </body>
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>outline-width composition</title>
<link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-width">
<meta name="assert" content="outline-width supports animation by computed value">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
<body> <body>
<script src="../interpolation/resources/interpolation-test.js"></script>
<style> <style>
.target { .target {
/* If outline-style is none (the default), the computed style of outline-width is 0. */ /* If outline-style is none (the default), the computed style of outline-width is 0. */
...@@ -9,70 +16,70 @@ ...@@ -9,70 +16,70 @@
} }
</style> </style>
<script> <script>
assertComposition({ test_composition({
property: 'outline-width', property: 'outline-width',
underlying: '50px', underlying: '50px',
addFrom: '100px', addFrom: '100px',
addTo: '200px', addTo: '200px',
}, [ }, [
{at: -0.3, is: '120px'}, {at: -0.3, expect: '120px'},
{at: 0, is: '150px'}, {at: 0, expect: '150px'},
{at: 0.5, is: '200px'}, {at: 0.5, expect: '200px'},
{at: 1, is: '250px'}, {at: 1, expect: '250px'},
{at: 1.5, is: '300px'}, {at: 1.5, expect: '300px'},
]); ]);
assertComposition({ test_composition({
property: 'outline-width', property: 'outline-width',
underlying: '100px', underlying: '100px',
addFrom: '10px', addFrom: '10px',
addTo: '2px', addTo: '2px',
}, [ }, [
{at: -0.5, is: '114px'}, {at: -0.5, expect: '114px'},
{at: 0, is: '110px'}, {at: 0, expect: '110px'},
{at: 0.5, is: '106px'}, {at: 0.5, expect: '106px'},
{at: 1, is: '102px'}, {at: 1, expect: '102px'},
{at: 1.5, is: '98px'}, // Value clamping should happen after composition. {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
]); ]);
assertComposition({ test_composition({
property: 'outline-width', property: 'outline-width',
underlying: '10em', underlying: '10em',
addFrom: '100px', addFrom: '100px',
addTo: '20em', addTo: '20em',
}, [ }, [
{at: -0.3, is: 'calc(130px + 4em)'}, {at: -0.3, expect: 'calc(130px + 4em)'},
{at: 0, is: 'calc(100px + 10em)'}, {at: 0, expect: 'calc(100px + 10em)'},
{at: 0.5, is: 'calc(50px + 20em)'}, {at: 0.5, expect: 'calc(50px + 20em)'},
{at: 1, is: '30em'}, {at: 1, expect: '30em'},
{at: 1.5, is: 'calc(-50px + 40em)'}, {at: 1.5, expect: 'calc(-50px + 40em)'},
]); ]);
assertComposition({ test_composition({
property: 'outline-width', property: 'outline-width',
underlying: '50px', underlying: '50px',
addFrom: '100px', addFrom: '100px',
replaceTo: '200px', replaceTo: '200px',
}, [ }, [
{at: -0.3, is: '135px'}, {at: -0.3, expect: '135px'},
{at: 0, is: '150px'}, {at: 0, expect: '150px'},
{at: 0.5, is: '175px'}, {at: 0.5, expect: '175px'},
{at: 1, is: '200px'}, {at: 1, expect: '200px'},
{at: 1.5, is: '225px'}, {at: 1.5, expect: '225px'},
]); ]);
assertComposition({ test_composition({
property: 'outline-width', property: 'outline-width',
underlying: 'thick', // 5px underlying: 'thick', // 5px
addFrom: '11px', addFrom: '11px',
addTo: 'thin', // 1px addTo: 'thin', // 1px
}, [ }, [
{at: -0.3, is: '19px'}, {at: -0.3, expect: '19px'},
{at: 0, is: '16px'}, {at: 0, expect: '16px'},
{at: 0.5, is: '11px'}, {at: 0.5, expect: '11px'},
{at: 1, is: '6px'}, {at: 1, expect: '6px'},
{at: 1.5, is: '1px'}, {at: 1.5, expect: '1px'},
{at: 2, is: '0px'}, // CSS outline-width can't be negative. {at: 2, expect: '0px'}, // CSS outline-width can't be negative.
]); ]);
</script> </script>
</body> </body>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment