| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../resources/utils.js"></script> |
| <div id="target"></div> |
| <script> |
| |
| transition_test({ |
| syntax: "<angle>#", |
| from: '100deg, 200deg', |
| to: '300deg', |
| expected: '300deg', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <angle># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<angle>+", |
| from: '100deg 200deg', |
| to: '300deg', |
| expected: '300deg', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <angle>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<color>#", |
| from: 'rgb(100, 100, 100), rgb(150, 150, 150)', |
| to: 'rgb(200, 200, 200)', |
| expected: 'rgb(200, 200, 200)', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <color># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<color>+", |
| from: 'rgb(100, 100, 100) rgb(150, 150, 150)', |
| to: 'rgb(200, 200, 200)', |
| expected: 'rgb(200, 200, 200)', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <color>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<custom-ident>#", |
| from: 'foo, bar', |
| to: 'baz', |
| expected: 'baz', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <custom-ident># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<custom-ident>+", |
| from: 'foo bar', |
| to: 'baz', |
| expected: 'baz', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <custom-ident>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<image>#", |
| from: 'url("https://example.com/foo"), url("https://example.com/bar")', |
| to: 'url("https://example.com/to")', |
| expected: 'url("https://example.com/to")', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <image># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<image>+", |
| from: 'url("https://example.com/foo") url("https://example.com/bar")', |
| to: 'url("https://example.com/to")', |
| expected: 'url("https://example.com/to")', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <image>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<integer>#", |
| from: '100, 200', |
| to: '300', |
| expected: '300', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <integer># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<integer>+", |
| from: '100 200', |
| to: '300', |
| expected: '300', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <integer>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<length-percentage>#", |
| from: '100px, 200px', |
| to: '300%', |
| expected: '300%', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <length-percentage># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<length-percentage>+", |
| from: '100px 200px', |
| to: '300%', |
| expected: '300%', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <length-percentage>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<length>#", |
| from: '100px, 200px', |
| to: '300px', |
| expected: '300px', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <length># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<length>+", |
| from: '100px 200px', |
| to: '300px', |
| expected: '300px', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <length>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<number>#", |
| from: '100, 200', |
| to: '300', |
| expected: '300', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <number># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<number>+", |
| from: '100 200', |
| to: '300', |
| expected: '300', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <number>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<percentage>#", |
| from: '100%, 200%', |
| to: '300%', |
| expected: '300%', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <percentage># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<percentage>+", |
| from: '100% 200%', |
| to: '300%', |
| expected: '300%', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <percentage>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<resolution>#", |
| from: '100dppx, 200dppx', |
| to: '300dppx', |
| expected: '300dppx', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <resolution># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<resolution>+", |
| from: '100dppx 200dppx', |
| to: '300dppx', |
| expected: '300dppx', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <resolution>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<time>#", |
| from: '100s, 200s', |
| to: '300s', |
| expected: '300s', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <time># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<time>+", |
| from: '100s 200s', |
| to: '300s', |
| expected: '300s', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <time>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<url>#", |
| from: 'url("https://example.com/foo"), url("https://example.com/bar")', |
| to: 'url("https://example.com/to")', |
| expected: 'url("https://example.com/to")', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <url># yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| transition_test({ |
| syntax: "<url>+", |
| from: 'url("https://example.com/foo") url("https://example.com/bar")', |
| to: 'url("https://example.com/to")', |
| expected: 'url("https://example.com/to")', |
| behavior: 'allow-discrete', |
| }, 'A custom property of type <url>+ yields a discrete CSS Transition if the lists do not contain the same number of values'); |
| |
| </script> |