mirror of
https://github.com/servo/servo.git
synced 2025-08-02 12:10:29 +01:00
Auto merge of #25406 - servo-wpt-sync:wpt_update_31-12-2019, r=servo-wpt-sync
Sync WPT with upstream (31-12-2019) Automated downstream sync of changes from upstream as of 31-12-2019. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
90acd1adc3
49 changed files with 2889 additions and 59 deletions
|
@ -320758,18 +320758,48 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-left-radius-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-bottom-left-radius-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-right-radius-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-bottom-right-radius-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-width-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-bottom-width-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-color-interpolation.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-color-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-outset-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-outset-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-outset-interpolation.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-outset-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-slice-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-slice-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-slice-interpolation-stability.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-slice-interpolation-stability.html",
|
||||
|
@ -320788,18 +320818,54 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-width-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-width-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-width-interpolation.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-image-width-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-left-width-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-left-width-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-radius-interpolation.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-radius-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-right-width-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-right-width-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-left-radius-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-top-left-radius-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-right-radius-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-top-right-radius-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-width-composition.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-top-width-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/animations/border-width-interpolation.html": [
|
||||
[
|
||||
"css/css-backgrounds/animations/border-width-interpolation.html",
|
||||
|
@ -330786,18 +330852,36 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/letter-spacing-composition.html": [
|
||||
[
|
||||
"css/css-text/animations/letter-spacing-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/letter-spacing-interpolation.html": [
|
||||
[
|
||||
"css/css-text/animations/letter-spacing-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/text-indent-composition.html": [
|
||||
[
|
||||
"css/css-text/animations/text-indent-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/text-indent-interpolation.html": [
|
||||
[
|
||||
"css/css-text/animations/text-indent-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/word-spacing-composition.html": [
|
||||
[
|
||||
"css/css-text/animations/word-spacing-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-text/animations/word-spacing-interpolation.html": [
|
||||
[
|
||||
"css/css-text/animations/word-spacing-interpolation.html",
|
||||
|
@ -338400,12 +338484,24 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-anchor-composition.html": [
|
||||
[
|
||||
"css/motion/animation/offset-anchor-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-anchor-interpolation.html": [
|
||||
[
|
||||
"css/motion/animation/offset-anchor-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-distance-composition.html": [
|
||||
[
|
||||
"css/motion/animation/offset-distance-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-distance-interpolation.html": [
|
||||
[
|
||||
"css/motion/animation/offset-distance-interpolation.html",
|
||||
|
@ -338418,6 +338514,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-path-composition.html": [
|
||||
[
|
||||
"css/motion/animation/offset-path-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-path-interpolation-001.html": [
|
||||
[
|
||||
"css/motion/animation/offset-path-interpolation-001.html",
|
||||
|
@ -338448,12 +338550,24 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-position-composition.html": [
|
||||
[
|
||||
"css/motion/animation/offset-position-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-position-interpolation.html": [
|
||||
[
|
||||
"css/motion/animation/offset-position-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-rotate-composition.html": [
|
||||
[
|
||||
"css/motion/animation/offset-rotate-composition.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/motion/animation/offset-rotate-interpolation.html": [
|
||||
[
|
||||
"css/motion/animation/offset-rotate-interpolation.html",
|
||||
|
@ -342134,6 +342248,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"domxpath/lexical-structure.html": [
|
||||
[
|
||||
"domxpath/lexical-structure.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"domxpath/node-sets.html": [
|
||||
[
|
||||
"domxpath/node-sets.html",
|
||||
|
@ -559551,14 +559671,34 @@
|
|||
"f6a480c7bd2ccc4a6c46fa2eade5e7231fab4938",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-left-radius-composition.html": [
|
||||
"87042d1969d59b6865761c60beaeba5219c6148c",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-right-radius-composition.html": [
|
||||
"2b5a72df6914f571ca00418484d9f782cd46aa63",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-bottom-width-composition.html": [
|
||||
"5377c0ab42b44623c1d7e0aa81344345db795f68",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-color-interpolation.html": [
|
||||
"3e7843b8a07577970279ef9a4e14bfb83c1816f0",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-outset-composition.html": [
|
||||
"e3311711753e34295eb3c7c83d5aee3d4cd684aa",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-outset-interpolation.html": [
|
||||
"aebadbbafb236a090aa543ecf82e5661bee7de74",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-slice-composition.html": [
|
||||
"d0ccb1a3a64f2b3fe75b4957dc0a75036c3cd392",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-slice-interpolation-stability.html": [
|
||||
"26431334e4acf13f6c095868a0e9cee6926a9ef1",
|
||||
"testharness"
|
||||
|
@ -559571,14 +559711,38 @@
|
|||
"60dcfceddc791737487fab07ea7035fac40856d6",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-width-composition.html": [
|
||||
"0d0a1dc4ed263c80b472e3ba241fffeaf771d6aa",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-image-width-interpolation.html": [
|
||||
"ea138201b15805cd86d8a63ed37b401b103bfee2",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-left-width-composition.html": [
|
||||
"1b90effbc32cd56e9120fec92158f518a67d6ae8",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-radius-interpolation.html": [
|
||||
"195469e83164c965ee33b6277983870100bda111",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-right-width-composition.html": [
|
||||
"aa9e1dcc66764c2ec8c072cbf9365529e3729d88",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-left-radius-composition.html": [
|
||||
"1c2056bc010a82228416983897c63676ac3aeb0f",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-right-radius-composition.html": [
|
||||
"9a26d51375e78bfe54ba7a3689f6b72fe6c36417",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-top-width-composition.html": [
|
||||
"475c3930b9d1704267267ff30d747b266ea3d851",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-backgrounds/animations/border-width-interpolation.html": [
|
||||
"11f92f41652a9f1b167c5a399849d1e1e61c4df7",
|
||||
"testharness"
|
||||
|
@ -598567,14 +598731,26 @@
|
|||
"e7914c0fc7ff9e6999f8847dc1800968472483f2",
|
||||
"support"
|
||||
],
|
||||
"css/css-text/animations/letter-spacing-composition.html": [
|
||||
"c1b614b5ebaa5bc190a080bd8da5694096a2be20",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-text/animations/letter-spacing-interpolation.html": [
|
||||
"7d4958113915913bb8a3a5af13f5cee90b080825",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-text/animations/text-indent-composition.html": [
|
||||
"57c528ca271646a284048bb49e11025ac25469da",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-text/animations/text-indent-interpolation.html": [
|
||||
"2269fdfa5b60f6f4a8d63a7f777e6abbf499c4b7",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-text/animations/word-spacing-composition.html": [
|
||||
"17aacaef1506eddbc8ef40ade114a856310a508e",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-text/animations/word-spacing-interpolation.html": [
|
||||
"ffd6bb476ad87976a1183cde70a10892bab77982",
|
||||
"testharness"
|
||||
|
@ -626311,10 +626487,18 @@
|
|||
"20835b48397f136a30b82a62654d389cad326315",
|
||||
"support"
|
||||
],
|
||||
"css/motion/animation/offset-anchor-composition.html": [
|
||||
"53210fdf38a86ec9f4e852a33527fc88b1eb9fe3",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-anchor-interpolation.html": [
|
||||
"9c69c0f0bed2b14c02091ccf63f50ace61f2eb2a",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-distance-composition.html": [
|
||||
"4ff6e95b05792505b2f98c511f5a80d64e86624d",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-distance-interpolation.html": [
|
||||
"bc0c094a8e5305c970f0a4d44ee8a3726d2965a1",
|
||||
"testharness"
|
||||
|
@ -626323,6 +626507,10 @@
|
|||
"2ee011bd77a975e9b566d24658995693c574f620",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-path-composition.html": [
|
||||
"eedd363efafe05b870314ad797d9dc63f2c7409c",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-path-interpolation-001.html": [
|
||||
"5b90813bb591d0aa7e17eeddcb1a9e3a908670f0",
|
||||
"testharness"
|
||||
|
@ -626343,10 +626531,18 @@
|
|||
"9924106f4b75ede89e5270a76fe217f85ef20050",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-position-composition.html": [
|
||||
"0ee517a73a8e9e673a83a0f81bbdea98d6a3d808",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-position-interpolation.html": [
|
||||
"9faaf9487afb20059046e95a8cd5b3a796e8fd42",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-rotate-composition.html": [
|
||||
"bf60c19abeffafa36c50f1d1da0e9f9d64b1a151",
|
||||
"testharness"
|
||||
],
|
||||
"css/motion/animation/offset-rotate-interpolation.html": [
|
||||
"55845108ebf5f3c42a8b0532121199136160d695",
|
||||
"testharness"
|
||||
|
@ -638440,7 +638636,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"custom-elements/pseudo-class-defined.html": [
|
||||
"60d88cffb517c0062db338e5ba89e98f7748c280",
|
||||
"24cb5fe4cd392246e292d255c0858aa7f2b5dd0e",
|
||||
"testharness"
|
||||
],
|
||||
"custom-elements/range-and-constructors.html": [
|
||||
|
@ -638688,7 +638884,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"custom-elements/upgrading.html": [
|
||||
"d6b8ed387540ae9572774e5557b1168f844a017f",
|
||||
"ac0fdff7a2111507632ac2c36fd5c60a6f832b20",
|
||||
"testharness"
|
||||
],
|
||||
"custom-elements/upgrading/Document-importNode.html": [
|
||||
|
@ -640935,6 +641131,10 @@
|
|||
"0805bd682b48461588250a22018a6bd90990d002",
|
||||
"support"
|
||||
],
|
||||
"domxpath/lexical-structure.html": [
|
||||
"f93820b0e4176d8c96518268b6453024dd43f1df",
|
||||
"testharness"
|
||||
],
|
||||
"domxpath/node-sets.html": [
|
||||
"a47314fb0869885db01fd13bd8aa35687e283d0d",
|
||||
"testharness"
|
||||
|
@ -663380,7 +663580,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"html/semantics/forms/the-input-element/time.html": [
|
||||
"ad4e38cbc74f50dc764fc958b8cf68f4dd790cbe",
|
||||
"ec815d4cb302cfb68db7976ba79bec1de762b7b7",
|
||||
"testharness"
|
||||
],
|
||||
"html/semantics/forms/the-input-element/type-change-file-to-text-crash.html": [
|
||||
|
@ -670716,7 +670916,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/webaudio.idl": [
|
||||
"674673d90b1e8fd3e6d182f25289948fc0290cac",
|
||||
"9491090337c342fc06a35a97ee6dc6887829c1bc",
|
||||
"support"
|
||||
],
|
||||
"interfaces/webauthn.idl": [
|
||||
|
@ -670752,7 +670952,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/webrtc.idl": [
|
||||
"e30fc38fd003a283ebb4184786d181c5b4293dc4",
|
||||
"49ed6bb0333020a6eee8d5411ae88a4e3a7dbd9a",
|
||||
"support"
|
||||
],
|
||||
"interfaces/webusb.idl": [
|
||||
|
@ -699584,7 +699784,7 @@
|
|||
"support"
|
||||
],
|
||||
"resources/chromium/nfc-mock.js": [
|
||||
"7eee8ce04c4630ae82d2520def13cfa107b7ef13",
|
||||
"4bafc9b0ad8f7f8ad4185914fffef16949695ab3",
|
||||
"support"
|
||||
],
|
||||
"resources/chromium/sensor.mojom.js": [
|
||||
|
@ -722420,7 +722620,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"web-animations/timing-model/animations/setting-the-playback-rate-of-an-animation.html": [
|
||||
"0522c43b16a881a14b339294e5ed56b8ae064f92",
|
||||
"a1f9e4f3acea04337dd0147fbfa373f950a67409",
|
||||
"testharness"
|
||||
],
|
||||
"web-animations/timing-model/animations/setting-the-start-time-of-an-animation.html": [
|
||||
|
@ -722636,7 +722836,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"web-nfc/NDEFRecord_constructor.https.html": [
|
||||
"d46503ab172bf358bff005ce8c2c56941e333eea",
|
||||
"c62ea7b0d620b6f38f589c751329b40be096e557",
|
||||
"testharness"
|
||||
],
|
||||
"web-nfc/NDEFWriter-document-hidden-manual.https.html": [
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
[border-bottom-left-radius-composition.html]
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.5) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0) should be [100px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1) should be [200px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (-0.25) should be [75px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1.25) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1.25) should be [225px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.25) should be [125px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.25) should be [125px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.75) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.75) should be [175px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (-0.25) should be [75px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0) should be [100px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1.25) should be [225px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.75) should be [175px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (-0.25) should be [75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.25) should be [125px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
[border-bottom-right-radius-composition.html]
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.75) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.75) should be [175px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1.25) should be [225px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.5) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.25) should be [125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.25) should be [125px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1.25) should be [225px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (-0.25) should be [75px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0) should be [100px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.75) should be [175px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0) should be [100px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.25) should be [125px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1) should be [200px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1.25) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (-0.25) should be [75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-bottom-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (-0.25) should be [75px 100px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
[border-image-outset-composition.html]
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (1) should be [300 500 800 700\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1.25) should be [127 129 131 133\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (1) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.5) should be [50px 50\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (1.25) should be [325 550 900 750\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0) should be [100px 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (0.75) should be [77 79 81px 83px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (1.25) should be [200px 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (1.25) should be [127 129 131px 133px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (1) should be [102 104 106px 108px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.75) should be [275 450 700 650\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (-0.25) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (0.25) should be [27 29 31px 33px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (1.25) should be [225 225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (1.25) should be [75px 75px 50px 50px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (0.5) should be [52 54 56px 58px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.5) should be [52 54 56 58\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (-0.25) should be [125px 125\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (0.25) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.25) should be [175px 175px 250px 250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (1) should be [200 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (0.75) should be [200px 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.75) should be [175px 225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (-0.25) should be [75px 125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.25) should be [225 350 500 550\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.75) should be [175 175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.5) should be [150px 150px 200px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.25) should be [125 125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0) should be [100 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.25) should be [125px 175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (1.25) should be [0px 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0) should be [200 300 400 500\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.5) should be [150 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (0) should be [2 4 6px 8px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.5) should be [250 400 600 600\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (1) should be [0px 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (0) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.75) should be [77 79 81 83\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.75) should be [25px 25\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0) should be [100px 100\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (-0.25) should be [75 75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.75) should be [125px 125px 150px 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (0.5) should be [200px 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (-0.25) should be [0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (-0.25) should be [175 250 300 450\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1) should be [102 104 106 108\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (-0.25) should be [225px 225px 350px 350px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (1) should be [200px 250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (1.25) should be [225px 275px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0) should be [2 4 6 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100 150px\] to add [200px 250\] at (1) should be [200px 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0) should be [200px 200px 300px 300px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3px 4px\] from add [1 2 3px 4px\] to add [101 102 103px 104px\] at (-0.25) should be [0 0 0px 0px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.25) should be [27 29 31 33\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.25) should be [75px 75\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-outset> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.5) should be [150px 200px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
[border-image-slice-composition.html]
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (0.75) should be [125% 125% 150% 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (0.5) should be [150% 150% 200% 200%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (-0.25) should be [225% 225% 350% 350%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.5) should be [52 54 56 58\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (0.75) should be [25% 25\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (1.25) should be [325 550 900 750 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (1.25) should be [0% 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (-0.25) should be [75 75%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (0.25) should be [100 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (0.75) should be [200% 250% fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (1) should be [200 200%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1.25) should be [127 129 131 133\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (0.25) should be [225 350 500 550 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.25) should be [27 29 31 33\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (1.25) should be [200% 250% fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1) should be [102 104 106 108\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (0.5) should be [52 54 56% 58%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (0.5) should be [250 400 600 600 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (0.25) should be [75% 75\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (-0.25) should be [100 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (1) should be [0% 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (1) should be [300 500 800 700 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (0.5) should be [200% 250% fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (-0.25) should be [175 250 300 450 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (0.25) should be [175% 175% 250% 250%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (0.5) should be [50% 50\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (0.75) should be [77 79 81% 83%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (0.75) should be [175 175%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (0.75) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (1.25) should be [75% 75% 50% 50%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (0.25) should be [27 29 31% 33%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.75) should be [77 79 81 83\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (-0.25) should be [0 0 0% 0%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0) should be [2 4 6 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (0.25) should be [100% 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (1) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (1.25) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (0) should be [2 4 6% 8%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (0) should be [200 300 400 500 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (0.5) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (1) should be [200% 250% fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (0) should be [200% 200% 300% 300%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (1.25) should be [127 129 131% 133%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (0.5) should be [150 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20%\] from add [190% 180% 290% 280%\] to add [90% 80%\] at (1) should be [100%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (-0.25) should be [125% 125\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100 150%\] to add [200% 250\] at (0) should be [100 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (1.25) should be [225 225%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (-0.25) should be [0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (0.25) should be [125 125%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10% 20\] from add [90% 80\] to replace [0% 0 0% 0\] at (0) should be [100% 100\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (-0.25) should be [100% 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [1 2 3% 4%\] from add [1 2 3% 4%\] to add [101 102 103% 104%\] at (1) should be [102 104 106% 108%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [100 200 300 400 fill\] from add [100 fill\] to add [200 300 500 fill\] at (0.75) should be [275 450 700 650 fill\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20\] from add [100% 150%\] to add [200% 250% fill\] at (0) should be [100% 150%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-slice> underlying [10 20%\] from replace [100 100%\] to add [190 180%\] at (0) should be [100 100%\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
[border-image-width-composition.html]
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.75) should be [77 79 81 83\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (-0.25) should be [0 0 0px 0%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (0.5) should be [52 54 56px 58%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (1.25) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (0.25) should be [27 29 31px 33%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0) should be [2 4 6 8\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (1.25) should be [225px 275px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (0.25) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1) should be [102 104 106 108\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.75) should be [175 175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.75) should be [275 450 700 650\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.25) should be [175px 175px 250px 250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.25) should be [225 350 500 550\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (1.25) should be [75px 75px 50px 50px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (-0.25) should be [125px 125\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (1.25) should be [225 225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.5) should be [150px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (1) should be [0px 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (1) should be [300 500 800 700\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.75) should be [125px 125px 150px 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (1) should be [200px 250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (-0.25) should be [75px 125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (1) should be [102 104 106px 108%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (1) should be [200 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (0) should be [2 4 6px 8%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.25) should be [75px 75\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (-0.25) should be [225px 225px 350px 350px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (0.5) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (1.25) should be [325 550 900 750\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (-0.25) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0) should be [200px 200px 300px 300px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.25) should be [125 125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (1) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.75) should be [175px 225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.25) should be [27 29 31 33\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (0.75) should be [200% 250\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0.5) should be [250 400 600 600\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (1.25) should be [127 129 131px 133%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (-0.25) should be [175 250 300 450\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (0.5) should be [150px 150px 200px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (1.25) should be [0px 0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0) should be [100px 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100px 150px\] to add [200px 250px\] at (0.25) should be [125px 175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3px 4%\] from add [1 2 3px 4%\] to add [101 102 103px 104%\] at (0.75) should be [77 79 81px 83%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [100 200 300 400\] from add [100\] to add [200 300 500\] at (0) should be [200 300 400 500\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20\] from add [100 150px\] to add [200% 250\] at (0) should be [100 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (-0.25) should be [75 75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (0.5) should be [52 54 56 58\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (-0.25) should be [0\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0.5) should be [150 150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10 20px\] from replace [100 100px\] to add [190 180px\] at (0) should be [100 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.75) should be [25px 25\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0) should be [100px 100\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20\] from add [90px 80\] to replace [0px 0 0px 0\] at (0.5) should be [50px 50\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [1 2 3 4\] from add [1 2 3 4\] to add [101 102 103 104\] at (1.25) should be [127 129 131 133\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-image-width> underlying [10px 20px\] from add [190px 180px 290px 280px\] to add [90px 80px\] at (1) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
[border-top-left-radius-composition.html]
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1.25) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.25) should be [125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.25) should be [125px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0) should be [100px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1.25) should be [225px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0) should be [100px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.75) should be [175px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.75) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (-0.25) should be [75px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.25) should be [125px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (-0.25) should be [75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (-0.25) should be [75px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.75) should be [175px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1) should be [200px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.5) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-left-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1.25) should be [225px 220px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
[border-top-right-radius-composition.html]
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1.25) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.25) should be [125px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0) should be [100px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.5) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (-0.25) should be [75px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1.25) should be [225px 100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (1.25) should be [225px 220px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.75) should be [175px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0.5) should be [150px 160px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (1) should be [200px 120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (0) should be [100px 200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.25) should be [125px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0.75) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (0) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.25) should be [125px 140px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 40px\] from add [60px 60px\] to add [160px 160px\] at (-0.25) should be [75px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 140px\] from replace [100px 120px\] to add [160px 60px\] at (0.75) should be [175px 180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <border-top-right-radius> underlying [40px 60px\] from add [60px 140px\] to replace [200px 120px\] at (-0.25) should be [75px 220px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
[letter-spacing-composition.html]
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <letter-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
[text-indent-composition.html]
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (0.6) should be [110px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (1) should be [150px hanging\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (0) should be [-100%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (0.3) should be [80px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (0.6) should be [20%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (0.3) should be [-40%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (0) should be [50px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (1.5) should be [150px hanging\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (0.6) should be [calc(100% + 110px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (1) should be [150px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (0.6) should be [180px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (-0.3) should be [calc(100% + 20px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (0.3) should be [calc(100% + 80px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (1.5) should be [200px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (1.5) should be [200%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (1) should be [100px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (0.6) should be [150px hanging\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (0) should be [calc(100% + 50px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (0.3) should be [240px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (1.5) should be [0px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px each-line hanging\] to replace [150px hanging each-line\] at (-0.3) should be [20px hanging each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (1.5) should be [calc(100% + 200px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (-0.3) should be [300px each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (0) should be [300px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px\] from add [50px\] to replace [100px\] at (-0.3) should be [360px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (0.5) should be [0%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (1) should be [100%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [50%\] from replace [-100%\] to add [50%\] at (-0.3) should be [-160%\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (0) should be [300px each-line\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [100%\] from add [50px\] to add [150px\] at (1) should be [calc(100% + 150px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <text-indent> underlying [250px each-line\] from add [50px each-line\] to replace [150px hanging\] at (0.3) should be [300px each-line\]]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
[word-spacing-composition.html]
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
|
||||
expected: FAIL
|
||||
|
||||
[Compositing: property <word-spacing> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
|
||||
expected: FAIL
|
||||
|
|
@ -5,3 +5,9 @@
|
|||
[If definition's disable shadow is true and element's shadow root is non-null, then throw a "NotSupportedError" DOMException.]
|
||||
expected: FAIL
|
||||
|
||||
[Infinite constructor recursion with upgrade(this) should not be possible]
|
||||
expected: FAIL
|
||||
|
||||
[Infinite constructor recursion with appendChild should not be possible]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -309,21 +309,18 @@
|
|||
[<iframe>: separate response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,9 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Embedded credentials are treated as network errors in new windows.]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,8 +1,4 @@
|
|||
[skip-document-with-fragment.html]
|
||||
expected: TIMEOUT
|
||||
[Autofocus elements in iframed documents with URL fragments should be skipped.]
|
||||
expected: FAIL
|
||||
|
||||
[Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[005.html]
|
||||
expected: ERROR
|
||||
[dedicated worker in shared worker in dedicated worker]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-bottom-left-radius composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-border-radius">
|
||||
<meta name="assert" content="border-bottom-left-radius 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-bottom-left-radius',
|
||||
underlying: '40px 40px',
|
||||
addFrom: '60px 60px',
|
||||
addTo: '160px 160px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px'},
|
||||
{at: 0, expect: '100px'},
|
||||
{at: 0.25, expect: '125px'},
|
||||
{at: 0.5, expect: '150px'},
|
||||
{at: 0.75, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-left-radius',
|
||||
underlying: '40px 140px',
|
||||
replaceFrom: '100px 120px',
|
||||
addTo: '160px 60px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 100px'},
|
||||
{at: 0, expect: '100px 120px'},
|
||||
{at: 0.25, expect: '125px 140px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 180px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px 220px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-left-radius',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 120px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 220px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 180px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 140px'},
|
||||
{at: 1, expect: '200px 120px'},
|
||||
{at: 1.25, expect: '225px 100px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-bottom-right-radius composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-border-radius">
|
||||
<meta name="assert" content="border-bottom-right-radius 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-bottom-right-radius',
|
||||
underlying: '40px 40px',
|
||||
addFrom: '60px 60px',
|
||||
addTo: '160px 160px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px'},
|
||||
{at: 0, expect: '100px'},
|
||||
{at: 0.25, expect: '125px'},
|
||||
{at: 0.5, expect: '150px'},
|
||||
{at: 0.75, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-right-radius',
|
||||
underlying: '40px 140px',
|
||||
replaceFrom: '100px 120px',
|
||||
addTo: '160px 60px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 100px'},
|
||||
{at: 0, expect: '100px 120px'},
|
||||
{at: 0.25, expect: '125px 140px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 180px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px 220px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-right-radius',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 120px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 220px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 180px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 140px'},
|
||||
{at: 1, expect: '200px 120px'},
|
||||
{at: 1.25, expect: '225px 100px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,65 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-bottom-width composition</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#border-width-properties">
|
||||
<meta name="assert" content="border-bottom-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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-bottom-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-width',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-width',
|
||||
underlying: '10em',
|
||||
addFrom: '100px',
|
||||
addTo: '20em',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(130px + 4em)'},
|
||||
{at: 0, expect: 'calc(100px + 10em)'},
|
||||
{at: 0.5, expect: 'calc(50px + 20em)'},
|
||||
{at: 1, expect: '30em'},
|
||||
{at: 1.5, expect: 'calc(-50px + 40em)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-bottom-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,133 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-image-outset composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#border-image-outset">
|
||||
<meta name="assert" content="border-image-outset 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '1 2 3 4',
|
||||
addFrom: '1 2 3 4',
|
||||
addTo: '101 102 103 104',
|
||||
}, [
|
||||
{at: -0.25, expect: '0'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6 8'},
|
||||
{at: 0.25, expect: '27 29 31 33'},
|
||||
{at: 0.5, expect: '52 54 56 58'},
|
||||
{at: 0.75, expect: '77 79 81 83'},
|
||||
{at: 1, expect: '102 104 106 108'},
|
||||
{at: 1.25, expect: '127 129 131 133'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '100 200 300 400',
|
||||
addFrom: '100',
|
||||
addTo: '200 300 500',
|
||||
}, [
|
||||
{at: -0.25, expect: '175 250 300 450'},
|
||||
{at: 0, expect: '200 300 400 500'},
|
||||
{at: 0.25, expect: '225 350 500 550'},
|
||||
{at: 0.5, expect: '250 400 600 600'},
|
||||
{at: 0.75, expect: '275 450 700 650'},
|
||||
{at: 1, expect: '300 500 800 700'},
|
||||
{at: 1.25, expect: '325 550 900 750'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '1 2 3px 4px',
|
||||
addFrom: '1 2 3px 4px',
|
||||
addTo: '101 102 103px 104px',
|
||||
}, [
|
||||
{at: -0.25, expect: '0 0 0px 0px'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6px 8px'},
|
||||
{at: 0.25, expect: '27 29 31px 33px'},
|
||||
{at: 0.5, expect: '52 54 56px 58px'},
|
||||
{at: 0.75, expect: '77 79 81px 83px'},
|
||||
{at: 1, expect: '102 104 106px 108px'},
|
||||
{at: 1.25, expect: '127 129 131px 133px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '10px 20px',
|
||||
addFrom: '190px 180px 290px 280px',
|
||||
addTo: '90px 80px',
|
||||
}, [
|
||||
{at: -0.25, expect: '225px 225px 350px 350px'},
|
||||
{at: 0, expect: '200px 200px 300px 300px'},
|
||||
{at: 0.25, expect: '175px 175px 250px 250px'},
|
||||
{at: 0.5, expect: '150px 150px 200px 200px'},
|
||||
{at: 0.75, expect: '125px 125px 150px 150px'},
|
||||
{at: 1, expect: '100px'},
|
||||
{at: 1.25, expect: '75px 75px 50px 50px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '10 20px',
|
||||
replaceFrom: '100 100px',
|
||||
addTo: '190 180px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75 75px'},
|
||||
{at: 0, expect: '100 100px'},
|
||||
{at: 0.25, expect: '125 125px'},
|
||||
{at: 0.5, expect: '150 150px'},
|
||||
{at: 0.75, expect: '175 175px'},
|
||||
{at: 1, expect: '200 200px'},
|
||||
{at: 1.25, expect: '225 225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '10px 20',
|
||||
addFrom: '90px 80',
|
||||
replaceTo: '0px 0 0px 0',
|
||||
}, [
|
||||
{at: -0.25, expect: '125px 125'},
|
||||
{at: 0, expect: '100px 100'},
|
||||
{at: 0.25, expect: '75px 75'},
|
||||
{at: 0.5, expect: '50px 50'},
|
||||
{at: 0.75, expect: '25px 25'},
|
||||
{at: 1, expect: '0px 0'},
|
||||
{at: 1.25, expect: '0px 0'}, // Non-negative.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '10 20',
|
||||
addFrom: '100px 150px',
|
||||
addTo: '200px 250px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 125px'},
|
||||
{at: 0, expect: '100px 150px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 200px'},
|
||||
{at: 0.75, expect: '175px 225px'},
|
||||
{at: 1, expect: '200px 250px'},
|
||||
{at: 1.25, expect: '225px 275px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-outset',
|
||||
underlying: '10 20',
|
||||
addFrom: '100 150px',
|
||||
addTo: '200px 250',
|
||||
}, [
|
||||
{at: -0.25, expect: '100 150px'},
|
||||
{at: 0, expect: '100 150px'},
|
||||
{at: 0.25, expect: '100 150px'},
|
||||
{at: 0.5, expect: '200px 250'},
|
||||
{at: 0.75, expect: '200px 250'},
|
||||
{at: 1, expect: '200px 250'},
|
||||
{at: 1.25, expect: '200px 250'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,133 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-image-slice composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#border-image-slice">
|
||||
<meta name="assert" content="border-image-slice 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '1 2 3 4',
|
||||
addFrom: '1 2 3 4',
|
||||
addTo: '101 102 103 104',
|
||||
}, [
|
||||
{at: -0.25, expect: '0'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6 8'},
|
||||
{at: 0.25, expect: '27 29 31 33'},
|
||||
{at: 0.5, expect: '52 54 56 58'},
|
||||
{at: 0.75, expect: '77 79 81 83'},
|
||||
{at: 1, expect: '102 104 106 108'},
|
||||
{at: 1.25, expect: '127 129 131 133'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '100 200 300 400 fill',
|
||||
addFrom: '100 fill',
|
||||
addTo: '200 300 500 fill',
|
||||
}, [
|
||||
{at: -0.25, expect: '175 250 300 450 fill'},
|
||||
{at: 0, expect: '200 300 400 500 fill'},
|
||||
{at: 0.25, expect: '225 350 500 550 fill'},
|
||||
{at: 0.5, expect: '250 400 600 600 fill'},
|
||||
{at: 0.75, expect: '275 450 700 650 fill'},
|
||||
{at: 1, expect: '300 500 800 700 fill'},
|
||||
{at: 1.25, expect: '325 550 900 750 fill'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '1 2 3% 4%',
|
||||
addFrom: '1 2 3% 4%',
|
||||
addTo: '101 102 103% 104%',
|
||||
}, [
|
||||
{at: -0.25, expect: '0 0 0% 0%'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6% 8%'},
|
||||
{at: 0.25, expect: '27 29 31% 33%'},
|
||||
{at: 0.5, expect: '52 54 56% 58%'},
|
||||
{at: 0.75, expect: '77 79 81% 83%'},
|
||||
{at: 1, expect: '102 104 106% 108%'},
|
||||
{at: 1.25, expect: '127 129 131% 133%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '10% 20%',
|
||||
addFrom: '190% 180% 290% 280%',
|
||||
addTo: '90% 80%',
|
||||
}, [
|
||||
{at: -0.25, expect: '225% 225% 350% 350%'},
|
||||
{at: 0, expect: '200% 200% 300% 300%'},
|
||||
{at: 0.25, expect: '175% 175% 250% 250%'},
|
||||
{at: 0.5, expect: '150% 150% 200% 200%'},
|
||||
{at: 0.75, expect: '125% 125% 150% 150%'},
|
||||
{at: 1, expect: '100%'},
|
||||
{at: 1.25, expect: '75% 75% 50% 50%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '10 20%',
|
||||
replaceFrom: '100 100%',
|
||||
addTo: '190 180%',
|
||||
}, [
|
||||
{at: -0.25, expect: '75 75%'},
|
||||
{at: 0, expect: '100 100%'},
|
||||
{at: 0.25, expect: '125 125%'},
|
||||
{at: 0.5, expect: '150 150%'},
|
||||
{at: 0.75, expect: '175 175%'},
|
||||
{at: 1, expect: '200 200%'},
|
||||
{at: 1.25, expect: '225 225%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '10% 20',
|
||||
addFrom: '90% 80',
|
||||
replaceTo: '0% 0 0% 0',
|
||||
}, [
|
||||
{at: -0.25, expect: '125% 125'},
|
||||
{at: 0, expect: '100% 100'},
|
||||
{at: 0.25, expect: '75% 75'},
|
||||
{at: 0.5, expect: '50% 50'},
|
||||
{at: 0.75, expect: '25% 25'},
|
||||
{at: 1, expect: '0% 0'},
|
||||
{at: 1.25, expect: '0% 0'}, // Non-negative.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '10 20',
|
||||
addFrom: '100% 150%',
|
||||
addTo: '200% 250% fill',
|
||||
}, [
|
||||
{at: -0.25, expect: '100% 150%'},
|
||||
{at: 0, expect: '100% 150%'},
|
||||
{at: 0.25, expect: '100% 150%'},
|
||||
{at: 0.5, expect: '200% 250% fill'},
|
||||
{at: 0.75, expect: '200% 250% fill'},
|
||||
{at: 1, expect: '200% 250% fill'},
|
||||
{at: 1.25, expect: '200% 250% fill'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-slice',
|
||||
underlying: '10 20',
|
||||
addFrom: '100 150%',
|
||||
addTo: '200% 250',
|
||||
}, [
|
||||
{at: -0.25, expect: '100 150%'},
|
||||
{at: 0, expect: '100 150%'},
|
||||
{at: 0.25, expect: '100 150%'},
|
||||
{at: 0.5, expect: '200% 250'},
|
||||
{at: 0.75, expect: '200% 250'},
|
||||
{at: 1, expect: '200% 250'},
|
||||
{at: 1.25, expect: '200% 250'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,133 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-image-width composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#border-image-width">
|
||||
<meta name="assert" content="border-image-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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '1 2 3 4',
|
||||
addFrom: '1 2 3 4',
|
||||
addTo: '101 102 103 104',
|
||||
}, [
|
||||
{at: -0.25, expect: '0'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6 8'},
|
||||
{at: 0.25, expect: '27 29 31 33'},
|
||||
{at: 0.5, expect: '52 54 56 58'},
|
||||
{at: 0.75, expect: '77 79 81 83'},
|
||||
{at: 1, expect: '102 104 106 108'},
|
||||
{at: 1.25, expect: '127 129 131 133'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '100 200 300 400',
|
||||
addFrom: '100',
|
||||
addTo: '200 300 500',
|
||||
}, [
|
||||
{at: -0.25, expect: '175 250 300 450'},
|
||||
{at: 0, expect: '200 300 400 500'},
|
||||
{at: 0.25, expect: '225 350 500 550'},
|
||||
{at: 0.5, expect: '250 400 600 600'},
|
||||
{at: 0.75, expect: '275 450 700 650'},
|
||||
{at: 1, expect: '300 500 800 700'},
|
||||
{at: 1.25, expect: '325 550 900 750'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '1 2 3px 4%',
|
||||
addFrom: '1 2 3px 4%',
|
||||
addTo: '101 102 103px 104%',
|
||||
}, [
|
||||
{at: -0.25, expect: '0 0 0px 0%'}, // Non-negative.
|
||||
{at: 0, expect: '2 4 6px 8%'},
|
||||
{at: 0.25, expect: '27 29 31px 33%'},
|
||||
{at: 0.5, expect: '52 54 56px 58%'},
|
||||
{at: 0.75, expect: '77 79 81px 83%'},
|
||||
{at: 1, expect: '102 104 106px 108%'},
|
||||
{at: 1.25, expect: '127 129 131px 133%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '10px 20px',
|
||||
addFrom: '190px 180px 290px 280px',
|
||||
addTo: '90px 80px',
|
||||
}, [
|
||||
{at: -0.25, expect: '225px 225px 350px 350px'},
|
||||
{at: 0, expect: '200px 200px 300px 300px'},
|
||||
{at: 0.25, expect: '175px 175px 250px 250px'},
|
||||
{at: 0.5, expect: '150px 150px 200px 200px'},
|
||||
{at: 0.75, expect: '125px 125px 150px 150px'},
|
||||
{at: 1, expect: '100px'},
|
||||
{at: 1.25, expect: '75px 75px 50px 50px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '10 20px',
|
||||
replaceFrom: '100 100px',
|
||||
addTo: '190 180px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75 75px'},
|
||||
{at: 0, expect: '100 100px'},
|
||||
{at: 0.25, expect: '125 125px'},
|
||||
{at: 0.5, expect: '150 150px'},
|
||||
{at: 0.75, expect: '175 175px'},
|
||||
{at: 1, expect: '200 200px'},
|
||||
{at: 1.25, expect: '225 225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '10px 20',
|
||||
addFrom: '90px 80',
|
||||
replaceTo: '0px 0 0px 0',
|
||||
}, [
|
||||
{at: -0.25, expect: '125px 125'},
|
||||
{at: 0, expect: '100px 100'},
|
||||
{at: 0.25, expect: '75px 75'},
|
||||
{at: 0.5, expect: '50px 50'},
|
||||
{at: 0.75, expect: '25px 25'},
|
||||
{at: 1, expect: '0px 0'},
|
||||
{at: 1.25, expect: '0px 0'}, // Non-negative.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '10 20',
|
||||
addFrom: '100px 150px',
|
||||
addTo: '200px 250px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 125px'},
|
||||
{at: 0, expect: '100px 150px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 200px'},
|
||||
{at: 0.75, expect: '175px 225px'},
|
||||
{at: 1, expect: '200px 250px'},
|
||||
{at: 1.25, expect: '225px 275px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-image-width',
|
||||
underlying: '10 20',
|
||||
addFrom: '100 150px',
|
||||
addTo: '200% 250',
|
||||
}, [
|
||||
{at: -0.25, expect: '100 150px'},
|
||||
{at: 0, expect: '100 150px'},
|
||||
{at: 0.25, expect: '100 150px'},
|
||||
{at: 0.5, expect: '200% 250'},
|
||||
{at: 0.75, expect: '200% 250'},
|
||||
{at: 1, expect: '200% 250'},
|
||||
{at: 1.25, expect: '200% 250'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,65 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-left-width composition</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#border-width-properties">
|
||||
<meta name="assert" content="border-left-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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-left-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-left-width',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-left-width',
|
||||
underlying: '10em',
|
||||
addFrom: '100px',
|
||||
addTo: '20em',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(130px + 4em)'},
|
||||
{at: 0, expect: 'calc(100px + 10em)'},
|
||||
{at: 0.5, expect: 'calc(50px + 20em)'},
|
||||
{at: 1, expect: '30em'},
|
||||
{at: 1.5, expect: 'calc(-50px + 40em)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-left-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,65 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-right-width composition</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#border-width-properties">
|
||||
<meta name="assert" content="border-right-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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-right-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-right-width',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-right-width',
|
||||
underlying: '10em',
|
||||
addFrom: '100px',
|
||||
addTo: '20em',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(130px + 4em)'},
|
||||
{at: 0, expect: 'calc(100px + 10em)'},
|
||||
{at: 0.5, expect: 'calc(50px + 20em)'},
|
||||
{at: 1, expect: '30em'},
|
||||
{at: 1.5, expect: 'calc(-50px + 40em)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-right-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-top-left-radius composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-border-radius">
|
||||
<meta name="assert" content="border-top-left-radius 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-top-left-radius',
|
||||
underlying: '40px 40px',
|
||||
addFrom: '60px 60px',
|
||||
addTo: '160px 160px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px'},
|
||||
{at: 0, expect: '100px'},
|
||||
{at: 0.25, expect: '125px'},
|
||||
{at: 0.5, expect: '150px'},
|
||||
{at: 0.75, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-left-radius',
|
||||
underlying: '40px 140px',
|
||||
replaceFrom: '100px 120px',
|
||||
addTo: '160px 60px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 100px'},
|
||||
{at: 0, expect: '100px 120px'},
|
||||
{at: 0.25, expect: '125px 140px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 180px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px 220px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-left-radius',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 120px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 220px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 180px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 140px'},
|
||||
{at: 1, expect: '200px 120px'},
|
||||
{at: 1.25, expect: '225px 100px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-top-right-radius composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-border-radius">
|
||||
<meta name="assert" content="border-top-right-radius 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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-top-right-radius',
|
||||
underlying: '40px 40px',
|
||||
addFrom: '60px 60px',
|
||||
addTo: '160px 160px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px'},
|
||||
{at: 0, expect: '100px'},
|
||||
{at: 0.25, expect: '125px'},
|
||||
{at: 0.5, expect: '150px'},
|
||||
{at: 0.75, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-right-radius',
|
||||
underlying: '40px 140px',
|
||||
replaceFrom: '100px 120px',
|
||||
addTo: '160px 60px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 100px'},
|
||||
{at: 0, expect: '100px 120px'},
|
||||
{at: 0.25, expect: '125px 140px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 180px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.25, expect: '225px 220px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-right-radius',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 120px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 220px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 180px'},
|
||||
{at: 0.5, expect: '150px 160px'},
|
||||
{at: 0.75, expect: '175px 140px'},
|
||||
{at: 1, expect: '200px 120px'},
|
||||
{at: 1.25, expect: '225px 100px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,65 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>border-top-width composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#border-width">
|
||||
<meta name="assert" content="border-top-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>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'border-top-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-width',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-width',
|
||||
underlying: '10em',
|
||||
addFrom: '100px',
|
||||
addTo: '20em',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(130px + 4em)'},
|
||||
{at: 0, expect: 'calc(100px + 10em)'},
|
||||
{at: 0.5, expect: 'calc(50px + 20em)'},
|
||||
{at: 1, expect: '30em'},
|
||||
{at: 1.5, expect: 'calc(-50px + 40em)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'border-top-width',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,53 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>letter-spacing composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-text-3/#letter-spacing-property">
|
||||
<meta name="test" content="letter-spacing supports animation by computed value type">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body>
|
||||
<script src="../interpolation/resources/interpolation-test.js"></script>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'letter-spacing',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'letter-spacing',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'letter-spacing',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,84 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>letter-spacing composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-indent-property">
|
||||
<meta name="test" content="text-indent supports animation by computed value type">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body></body>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'text-indent',
|
||||
underlying: '100%',
|
||||
addFrom: '50px',
|
||||
addTo: '150px',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(100% + 20px)'},
|
||||
{at: 0, expect: 'calc(100% + 50px)'},
|
||||
{at: 0.3, expect: 'calc(100% + 80px)'},
|
||||
{at: 0.6, expect: 'calc(100% + 110px)'},
|
||||
{at: 1, expect: 'calc(100% + 150px)'},
|
||||
{at: 1.5, expect: 'calc(100% + 200px)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'text-indent',
|
||||
underlying: '250px',
|
||||
addFrom: '50px',
|
||||
replaceTo: '100px',
|
||||
}, [
|
||||
{at: -0.3, expect: '360px'},
|
||||
{at: 0, expect: '300px'},
|
||||
{at: 0.3, expect: '240px'},
|
||||
{at: 0.6, expect: '180px'},
|
||||
{at: 1, expect: '100px'},
|
||||
{at: 1.5, expect: '0px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'text-indent',
|
||||
underlying: '50%',
|
||||
replaceFrom: '-100%',
|
||||
addTo: '50%',
|
||||
}, [
|
||||
{at: -0.3, expect: '-160%'},
|
||||
{at: 0, expect: '-100%'},
|
||||
{at: 0.3, expect: '-40%'},
|
||||
{at: 0.5, expect: '0%'},
|
||||
{at: 0.6, expect: '20%'},
|
||||
{at: 1, expect: '100%'},
|
||||
{at: 1.5, expect: '200%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'text-indent',
|
||||
underlying: '250px',
|
||||
addFrom: '50px each-line hanging',
|
||||
replaceTo: '150px hanging each-line',
|
||||
}, [
|
||||
{at: -0.3, expect: '20px hanging each-line'},
|
||||
{at: 0, expect: '50px hanging each-line'},
|
||||
{at: 0.3, expect: '80px hanging each-line'},
|
||||
{at: 0.6, expect: '110px hanging each-line'},
|
||||
{at: 1, expect: '150px hanging each-line'},
|
||||
{at: 1.5, expect: '200px hanging each-line'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'text-indent',
|
||||
underlying: '250px each-line',
|
||||
addFrom: '50px each-line',
|
||||
replaceTo: '150px hanging',
|
||||
}, [
|
||||
{at: -0.3, expect: '300px each-line'},
|
||||
{at: 0, expect: '300px each-line'},
|
||||
{at: 0.3, expect: '300px each-line'},
|
||||
{at: 0.6, expect: '150px hanging'},
|
||||
{at: 1, expect: '150px hanging'},
|
||||
{at: 1.5, expect: '150px hanging'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,52 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>word-spacing composition</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-text-3/#word-spacing-property">
|
||||
<meta name="test" content="word-spacing supports animation by computed value type">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'word-spacing',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'word-spacing',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'word-spacing',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,80 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>offset-anchor composition</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-anchor-property">
|
||||
<meta name="assert" content="offset-anchor supports animation.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<style>
|
||||
.target {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'offset-anchor',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 40px',
|
||||
addTo: '160px 140px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 75px'},
|
||||
{at: 0, expect: '100px 100px'},
|
||||
{at: 0.25, expect: '125px 125px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 175px'},
|
||||
{at: 1, expect: '200px 200px'},
|
||||
{at: 1.25, expect: '225px 225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-anchor',
|
||||
underlying: 'top 20% left 40%',
|
||||
addFrom: 'left 60% top 80%',
|
||||
addTo: 'right 80% bottom 40%',
|
||||
}, [
|
||||
{at: -0.25, expect: '110% 105%'},
|
||||
{at: 0, expect: '100% 100%'},
|
||||
{at: 0.25, expect: '90% 95%'},
|
||||
{at: 0.5, expect: '80% 90%'},
|
||||
{at: 0.75, expect: '70% 85%'},
|
||||
{at: 1, expect: '60% 80%'},
|
||||
{at: 1.25, expect: '50% 75%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-anchor',
|
||||
underlying: '40px 60px',
|
||||
replaceFrom: '100px 200px',
|
||||
addTo: '160px 40px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 225px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 125px'},
|
||||
{at: 1, expect: '200px 100px'},
|
||||
{at: 1.25, expect: '225px 75px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-anchor',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 100px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 225px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 125px'},
|
||||
{at: 1, expect: '200px 100px'},
|
||||
{at: 1.25, expect: '225px 75px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,66 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="UTF-8">
|
||||
<title>offset-distance composition</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-distance-property">
|
||||
<meta name="assert" content="offset-distance supports animation.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'offset-distance',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
addTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '120px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '200px'},
|
||||
{at: 1, expect: '250px'},
|
||||
{at: 1.5, expect: '300px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-distance',
|
||||
underlying: '100px',
|
||||
addFrom: '10px',
|
||||
addTo: '2px',
|
||||
}, [
|
||||
{at: -0.5, expect: '114px'},
|
||||
{at: 0, expect: '110px'},
|
||||
{at: 0.5, expect: '106px'},
|
||||
{at: 1, expect: '102px'},
|
||||
{at: 1.5, expect: '98px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-distance',
|
||||
underlying: '10%',
|
||||
addFrom: '100px',
|
||||
addTo: '20%',
|
||||
}, [
|
||||
{at: -0.3, expect: 'calc(130px + 4%)'},
|
||||
{at: 0, expect: 'calc(100px + 10%)'},
|
||||
{at: 0.5, expect: 'calc(50px + 20%)'},
|
||||
{at: 1, expect: '30%'},
|
||||
{at: 1.5, expect: 'calc(-50px + 40%)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-distance',
|
||||
underlying: '50px',
|
||||
addFrom: '100px',
|
||||
replaceTo: '200px',
|
||||
}, [
|
||||
{at: -0.3, expect: '135px'},
|
||||
{at: 0, expect: '150px'},
|
||||
{at: 0.5, expect: '175px'},
|
||||
{at: 1, expect: '200px'},
|
||||
{at: 1.5, expect: '225px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,120 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>offset-distance composition</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-distance-property">
|
||||
<meta name="assert" content="offset-distance supports animation.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
// TODO(ericwilligers) Support additive animation for path strings crbug.com/699308
|
||||
|
||||
// Ray paths compose.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg sides)',
|
||||
addFrom: 'ray(10deg sides)',
|
||||
addTo: 'ray(20deg sides)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(27deg sides)'},
|
||||
{at: 0, expect: 'ray(30deg sides)'},
|
||||
{at: 0.3, expect: 'ray(33deg sides)'},
|
||||
{at: 0.6, expect: 'ray(36deg sides)'},
|
||||
{at: 1, expect: 'ray(40deg sides)'},
|
||||
{at: 1.5, expect: 'ray(45deg sides)'},
|
||||
]);
|
||||
|
||||
// Ray paths without contain don't compose with underlying contain.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg closest-corner contain)',
|
||||
addFrom: 'ray(10deg closest-corner)',
|
||||
addTo: 'ray(20deg closest-corner)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(7deg closest-corner)'},
|
||||
{at: 0, expect: 'ray(10deg closest-corner)'},
|
||||
{at: 0.3, expect: 'ray(13deg closest-corner)'},
|
||||
{at: 0.6, expect: 'ray(16deg closest-corner)'},
|
||||
{at: 1, expect: 'ray(20deg closest-corner)'},
|
||||
{at: 1.5, expect: 'ray(25deg closest-corner)'},
|
||||
]);
|
||||
|
||||
// Ray paths don't compose when underlying has different size.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg closest-side)',
|
||||
addFrom: 'ray(10deg closest-corner)',
|
||||
addTo: 'ray(20deg closest-corner)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(7deg closest-corner)'},
|
||||
{at: 0, expect: 'ray(10deg closest-corner)'},
|
||||
{at: 0.3, expect: 'ray(13deg closest-corner)'},
|
||||
{at: 0.6, expect: 'ray(16deg closest-corner)'},
|
||||
{at: 1, expect: 'ray(20deg closest-corner)'},
|
||||
{at: 1.5, expect: 'ray(25deg closest-corner)'},
|
||||
]);
|
||||
|
||||
// Ray contain paths compose with underlying contain.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg farthest-side contain)',
|
||||
addFrom: 'ray(190deg farthest-side contain)',
|
||||
addTo: 'ray(20deg farthest-side contain)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(261deg farthest-side contain)'},
|
||||
{at: 0, expect: 'ray(210deg farthest-side contain)'},
|
||||
{at: 0.3, expect: 'ray(159deg farthest-side contain)'},
|
||||
{at: 0.6, expect: 'ray(108deg farthest-side contain)'},
|
||||
{at: 1, expect: 'ray(40deg farthest-side contain)'},
|
||||
{at: 1.5, expect: 'ray(-45deg farthest-side contain)'},
|
||||
]);
|
||||
|
||||
// When we can't interpolate, we can't compose.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg farthest-corner)',
|
||||
addFrom: 'ray(190deg farthest-corner contain)',
|
||||
addTo: 'ray(20deg farthest-corner)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(190deg farthest-corner contain)'},
|
||||
{at: 0, expect: 'ray(190deg farthest-corner contain)'},
|
||||
{at: 0.3, expect: 'ray(190deg farthest-corner contain)'},
|
||||
{at: 0.6, expect: 'ray(40deg farthest-corner)'},
|
||||
{at: 1, expect: 'ray(40deg farthest-corner)'},
|
||||
{at: 1.5, expect: 'ray(40deg farthest-corner)'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg sides)',
|
||||
replaceFrom: 'ray(190deg sides contain)',
|
||||
addTo: 'ray(20deg sides)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(190deg sides contain)'},
|
||||
{at: 0, expect: 'ray(190deg sides contain)'},
|
||||
{at: 0.3, expect: 'ray(190deg sides contain)'},
|
||||
{at: 0.6, expect: 'ray(40deg sides)'},
|
||||
{at: 1, expect: 'ray(40deg sides)'},
|
||||
{at: 1.5, expect: 'ray(40deg sides)'},
|
||||
]);
|
||||
|
||||
// Ray paths compose with underlying.
|
||||
test_composition({
|
||||
property: 'offset-path',
|
||||
underlying: 'ray(20deg closest-side)',
|
||||
addFrom: 'ray(10deg closest-side)',
|
||||
replaceTo: 'ray(10deg closest-side)',
|
||||
}, [
|
||||
{at: -0.3, expect: 'ray(36deg closest-side)'},
|
||||
{at: 0, expect: 'ray(30deg closest-side)'},
|
||||
{at: 0.3, expect: 'ray(24deg closest-side)'},
|
||||
{at: 0.6, expect: 'ray(18deg closest-side)'},
|
||||
{at: 1, expect: 'ray(10deg closest-side)'},
|
||||
{at: 1.5, expect: 'ray(0deg closest-side)'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,80 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>offset-position composition</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-position-property">
|
||||
<meta name="assert" content="offset-position supports <position> animation.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<style>
|
||||
.target {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
test_composition({
|
||||
property: 'offset-position',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 40px',
|
||||
addTo: '160px 140px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 75px'},
|
||||
{at: 0, expect: '100px 100px'},
|
||||
{at: 0.25, expect: '125px 125px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 175px'},
|
||||
{at: 1, expect: '200px 200px'},
|
||||
{at: 1.25, expect: '225px 225px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-position',
|
||||
underlying: 'top 20% left 40%',
|
||||
addFrom: 'left 60% top 80%',
|
||||
addTo: 'right 80% bottom 40%',
|
||||
}, [
|
||||
{at: -0.25, expect: '110% 105%'},
|
||||
{at: 0, expect: '100% 100%'},
|
||||
{at: 0.25, expect: '90% 95%'},
|
||||
{at: 0.5, expect: '80% 90%'},
|
||||
{at: 0.75, expect: '70% 85%'},
|
||||
{at: 1, expect: '60% 80%'},
|
||||
{at: 1.25, expect: '50% 75%'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-position',
|
||||
underlying: '40px 60px',
|
||||
replaceFrom: '100px 200px',
|
||||
addTo: '160px 40px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 225px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 125px'},
|
||||
{at: 1, expect: '200px 100px'},
|
||||
{at: 1.25, expect: '225px 75px'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-position',
|
||||
underlying: '40px 60px',
|
||||
addFrom: '60px 140px',
|
||||
replaceTo: '200px 100px',
|
||||
}, [
|
||||
{at: -0.25, expect: '75px 225px'},
|
||||
{at: 0, expect: '100px 200px'},
|
||||
{at: 0.25, expect: '125px 175px'},
|
||||
{at: 0.5, expect: '150px 150px'},
|
||||
{at: 0.75, expect: '175px 125px'},
|
||||
{at: 1, expect: '200px 100px'},
|
||||
{at: 1.25, expect: '225px 75px'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,103 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>offset-rotate composition</title>
|
||||
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
|
||||
<link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-rotate-property">
|
||||
<meta name="assert" content="offset-rotate supports animation.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/interpolation-testcommon.js"></script>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
// Angle rotations compose.
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: '20deg',
|
||||
addFrom: '10deg',
|
||||
addTo: '20deg',
|
||||
}, [
|
||||
{at: -0.3, expect: '27deg'},
|
||||
{at: 0, expect: '30deg'},
|
||||
{at: 0.3, expect: '33deg'},
|
||||
{at: 0.6, expect: '36deg'},
|
||||
{at: 1, expect: '40deg'},
|
||||
{at: 1.5, expect: '45deg'},
|
||||
]);
|
||||
|
||||
// Angle rotations don't compose with underlying 'auto'.
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: 'auto 20deg',
|
||||
addFrom: '10deg',
|
||||
addTo: '20deg',
|
||||
}, [
|
||||
{at: -0.3, expect: '7deg'},
|
||||
{at: 0, expect: '10deg'},
|
||||
{at: 0.3, expect: '13deg'},
|
||||
{at: 0.6, expect: '16deg'},
|
||||
{at: 1, expect: '20deg'},
|
||||
{at: 1.5, expect: '25deg'},
|
||||
]);
|
||||
|
||||
// Auto rotations compose with underlying 'auto'.
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: 'auto 20deg',
|
||||
addFrom: 'reverse 10deg',
|
||||
addTo: 'auto 20deg',
|
||||
}, [
|
||||
{at: -0.3, expect: 'auto 261deg'},
|
||||
{at: 0, expect: 'auto 210deg'},
|
||||
{at: 0.3, expect: 'auto 159deg'},
|
||||
{at: 0.6, expect: 'auto 108deg'},
|
||||
{at: 1, expect: 'auto 40deg'},
|
||||
{at: 1.5, expect: 'auto -45deg'},
|
||||
]);
|
||||
|
||||
// When we can't interpolate, we can't compose.
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: '20deg',
|
||||
addFrom: 'reverse 10deg',
|
||||
addTo: '20deg',
|
||||
}, [
|
||||
{at: -0.3, expect: 'auto 190deg'},
|
||||
{at: 0, expect: 'auto 190deg'},
|
||||
{at: 0.3, expect: 'auto 190deg'},
|
||||
{at: 0.6, expect: '40deg'},
|
||||
{at: 1, expect: '40deg'},
|
||||
{at: 1.5, expect: '40deg'},
|
||||
]);
|
||||
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: '20deg',
|
||||
replaceFrom: 'reverse 10deg',
|
||||
addTo: '20deg',
|
||||
}, [
|
||||
{at: -0.3, expect: 'auto 190deg'},
|
||||
{at: 0, expect: 'auto 190deg'},
|
||||
{at: 0.3, expect: 'auto 190deg'},
|
||||
{at: 0.6, expect: '40deg'},
|
||||
{at: 1, expect: '40deg'},
|
||||
{at: 1.5, expect: '40deg'},
|
||||
]);
|
||||
|
||||
// Angle rotations compose with underlying angle.
|
||||
test_composition({
|
||||
property: 'offset-rotate',
|
||||
underlying: '20deg',
|
||||
addFrom: '10deg',
|
||||
replaceTo: '10deg',
|
||||
}, [
|
||||
{at: -0.3, expect: '36deg'},
|
||||
{at: 0, expect: '30deg'},
|
||||
{at: 0.3, expect: '24deg'},
|
||||
{at: 0.6, expect: '18deg'},
|
||||
{at: 1, expect: '10deg'},
|
||||
{at: 1.5, expect: '0deg'},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
|
@ -90,4 +90,22 @@ function test_defined(expected, element, description) {
|
|||
assert_equals(style.color, expected ? defined : not_defined, 'getComputedStyle');
|
||||
}, `${description} should ${expected ? 'be' : 'not be'} :defined`);
|
||||
}
|
||||
|
||||
test(function () {
|
||||
var log = [];
|
||||
var instance = document.createElement('my-custom-element-2');
|
||||
document.body.appendChild(instance);
|
||||
customElements.define('my-custom-element-2',class extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
log.push([this, 'begin']);
|
||||
assert_false(this.matches(":defined"), "During construction, this should not match :defined");
|
||||
log.push([this, 'end']);
|
||||
}
|
||||
});
|
||||
assert_equals(log.length, 2);
|
||||
assert_array_equals(log[0], [instance, 'begin']);
|
||||
assert_array_equals(log[1], [instance, 'end']);
|
||||
}, 'this.matches(:defined) should not match during an upgrade');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
<script src="resources/custom-elements-helpers.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<infinite-cloning-element-1></infinite-cloning-element-1>
|
||||
<infinite-cloning-element-2 id="a"></infinite-cloning-element-2>
|
||||
<infinite-cloning-element-2 id="b"></infinite-cloning-element-2>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
setup({allow_uncaught_exception:true});
|
||||
|
@ -203,6 +206,53 @@ test(() => {
|
|||
}, 'If definition\'s disable shadow is true and element\'s shadow root is ' +
|
||||
'non-null, then throw a "NotSupportedError" DOMException.');
|
||||
|
||||
test(() => {
|
||||
var log = [];
|
||||
|
||||
customElements.define('infinite-cloning-element-1',class extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
log.push([this, 'begin']);
|
||||
// Potential infinite recursion:
|
||||
customElements.upgrade(this);
|
||||
log.push([this, 'end']);
|
||||
}
|
||||
});
|
||||
|
||||
assert_equals(log.length, 2);
|
||||
const instance = document.querySelector("infinite-cloning-element-1");
|
||||
assert_array_equals(log[0], [instance, 'begin']);
|
||||
assert_array_equals(log[1], [instance, 'end']);
|
||||
}, 'Infinite constructor recursion with upgrade(this) should not be possible');
|
||||
|
||||
test(() => {
|
||||
var log = [];
|
||||
|
||||
customElements.define('infinite-cloning-element-2',class extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
log.push([this, 'begin']);
|
||||
const b = document.querySelector("#b");
|
||||
b.remove();
|
||||
// While this constructor is running for "a", "b" is still
|
||||
// undefined, and so inserting it into the document will enqueue a
|
||||
// second upgrade reaction for "b" in addition to the one enqueued
|
||||
// by defining x-foo.
|
||||
document.body.appendChild(b);
|
||||
log.push([this, 'end']);
|
||||
}
|
||||
});
|
||||
|
||||
assert_equals(log.length, 4);
|
||||
const instanceA = document.querySelector("#a");
|
||||
const instanceB = document.querySelector("#b");
|
||||
assert_array_equals(log[0], [instanceA, 'begin']);
|
||||
assert_array_equals(log[1], [instanceB, 'begin']);
|
||||
assert_array_equals(log[2], [instanceB, 'end']);
|
||||
assert_array_equals(log[3], [instanceA, 'end']);
|
||||
}, 'Infinite constructor recursion with appendChild should not be possible');
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
29
tests/wpt/web-platform-tests/domxpath/lexical-structure.html
Normal file
29
tests/wpt/web-platform-tests/domxpath/lexical-structure.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#exprlex">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<script>
|
||||
function parse(expression) {
|
||||
document.evaluate(expression, document, null, XPathResult.ANY_TYPE, null);
|
||||
}
|
||||
|
||||
// https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-Literal
|
||||
test(() => {
|
||||
parse(' \'a"bc\' ');
|
||||
parse(' "a\'bc" ');
|
||||
|
||||
assert_throws(new SyntaxError(), () => { parse(' \u2019xyz\u2019 '); });
|
||||
}, 'Literal: Only \' and " should be handled as literal quotes.');
|
||||
|
||||
// https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-ExprWhitespace
|
||||
test(() => {
|
||||
parse(' \t\r\n.\r\n\t ');
|
||||
|
||||
assert_throws(new SyntaxError(), () => { parse('\x0B\x0C .'); });
|
||||
assert_throws(new SyntaxError(), () => { parse('\x0E\x0F .'); });
|
||||
assert_throws(new SyntaxError(), () => { parse('\u3000 .'); });
|
||||
assert_throws(new SyntaxError(), () => { parse('\u2029 .'); });
|
||||
}, 'ExprWhitespace: Only #x20 #x9 #xD or #xA must be handled as a whitespace.');
|
||||
</script>
|
||||
</body>
|
|
@ -291,8 +291,11 @@ test(function(){
|
|||
} , "stepDown stop so lower than the minimum value");
|
||||
|
||||
test(function(){
|
||||
// Set min value to ensure that 15:01 - base is a multiple of 2 min (i.e., a
|
||||
// valid value).
|
||||
_StepTest.min = "14:01";
|
||||
_StepTest.max = "15:01";
|
||||
this.add_cleanup(function() { _StepTest.max = ""; });
|
||||
this.add_cleanup(function() { _StepTest.min = _StepTest.max = ""; });
|
||||
_StepTest.value = "15:00";
|
||||
_StepTest.step = "120";
|
||||
_StepTest.stepUp();
|
||||
|
|
|
@ -26,28 +26,36 @@ interface BaseAudioContext : EventTarget {
|
|||
|
||||
AnalyserNode createAnalyser ();
|
||||
BiquadFilterNode createBiquadFilter ();
|
||||
AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
|
||||
AudioBuffer createBuffer (unsigned long numberOfChannels,
|
||||
unsigned long length,
|
||||
float sampleRate);
|
||||
AudioBufferSourceNode createBufferSource ();
|
||||
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6);
|
||||
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
|
||||
ChannelSplitterNode createChannelSplitter (
|
||||
optional unsigned long numberOfOutputs = 6);
|
||||
ConstantSourceNode createConstantSource ();
|
||||
ConvolverNode createConvolver ();
|
||||
DelayNode createDelay (optional double maxDelayTime = 1.0);
|
||||
DynamicsCompressorNode createDynamicsCompressor ();
|
||||
GainNode createGain ();
|
||||
IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
|
||||
IIRFilterNode createIIRFilter (sequence<double> feedforward,
|
||||
sequence<double> feedback);
|
||||
OscillatorNode createOscillator ();
|
||||
PannerNode createPanner ();
|
||||
PeriodicWave createPeriodicWave (sequence<float> real, sequence<float> imag, optional PeriodicWaveConstraints constraints = {});
|
||||
ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0,
|
||||
optional unsigned long numberOfInputChannels = 2,
|
||||
optional unsigned long numberOfOutputChannels = 2);
|
||||
PeriodicWave createPeriodicWave (sequence<float> real,
|
||||
sequence<float> imag,
|
||||
optional PeriodicWaveConstraints constraints = {});
|
||||
ScriptProcessorNode createScriptProcessor(
|
||||
optional unsigned long bufferSize = 0,
|
||||
optional unsigned long numberOfInputChannels = 2,
|
||||
optional unsigned long numberOfOutputChannels = 2);
|
||||
StereoPannerNode createStereoPanner ();
|
||||
WaveShaperNode createWaveShaper ();
|
||||
|
||||
Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData,
|
||||
optional DecodeSuccessCallback? successCallback,
|
||||
optional DecodeErrorCallback? errorCallback);
|
||||
Promise<AudioBuffer> decodeAudioData (
|
||||
ArrayBuffer audioData,
|
||||
optional DecodeSuccessCallback? successCallback,
|
||||
optional DecodeErrorCallback? errorCallback);
|
||||
};
|
||||
|
||||
enum AudioContextLatencyCategory {
|
||||
|
@ -67,7 +75,8 @@ interface AudioContext : BaseAudioContext {
|
|||
Promise<void> close ();
|
||||
MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
|
||||
MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream);
|
||||
MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack);
|
||||
MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (
|
||||
MediaStreamTrack mediaStreamTrack);
|
||||
MediaStreamAudioDestinationNode createMediaStreamDestination ();
|
||||
};
|
||||
|
||||
|
@ -116,8 +125,14 @@ interface AudioBuffer {
|
|||
readonly attribute double duration;
|
||||
readonly attribute unsigned long numberOfChannels;
|
||||
Float32Array getChannelData (unsigned long channel);
|
||||
void copyFromChannel (Float32Array destination, unsigned long channelNumber, optional unsigned long bufferOffset = 0);
|
||||
void copyToChannel (Float32Array source, unsigned long channelNumber, optional unsigned long bufferOffset = 0);
|
||||
void copyFromChannel (Float32Array destination,
|
||||
unsigned long channelNumber,
|
||||
optional unsigned long bufferOffset = 0);
|
||||
void copyToChannel (Float32Array source,
|
||||
|
||||
unsigned long channelNumber,
|
||||
|
||||
optional unsigned long bufferOffset = 0);
|
||||
};
|
||||
|
||||
dictionary AudioBufferOptions {
|
||||
|
@ -136,7 +151,9 @@ interface AudioNode : EventTarget {
|
|||
void disconnect (unsigned long output);
|
||||
void disconnect (AudioNode destinationNode);
|
||||
void disconnect (AudioNode destinationNode, unsigned long output);
|
||||
void disconnect (AudioNode destinationNode, unsigned long output, unsigned long input);
|
||||
void disconnect (AudioNode destinationNode,
|
||||
unsigned long output,
|
||||
unsigned long input);
|
||||
void disconnect (AudioParam destinationParam);
|
||||
void disconnect (AudioParam destinationParam, unsigned long output);
|
||||
readonly attribute BaseAudioContext context;
|
||||
|
@ -180,7 +197,11 @@ interface AudioParam {
|
|||
AudioParam linearRampToValueAtTime (float value, double endTime);
|
||||
AudioParam exponentialRampToValueAtTime (float value, double endTime);
|
||||
AudioParam setTargetAtTime (float target, double startTime, float timeConstant);
|
||||
AudioParam setValueCurveAtTime (sequence<float> values, double startTime, double duration);
|
||||
AudioParam setValueCurveAtTime (sequence<float> values,
|
||||
|
||||
double startTime,
|
||||
|
||||
double duration);
|
||||
AudioParam cancelScheduledValues (double cancelTime);
|
||||
AudioParam cancelAndHoldAtTime (double cancelTime);
|
||||
};
|
||||
|
@ -215,7 +236,8 @@ dictionary AnalyserOptions : AudioNodeOptions {
|
|||
|
||||
[Exposed=Window]
|
||||
interface AudioBufferSourceNode : AudioScheduledSourceNode {
|
||||
constructor (BaseAudioContext context, optional AudioBufferSourceOptions options = {});
|
||||
constructor (BaseAudioContext context,
|
||||
optional AudioBufferSourceOptions options = {});
|
||||
attribute AudioBuffer? buffer;
|
||||
readonly attribute AudioParam playbackRate;
|
||||
readonly attribute AudioParam detune;
|
||||
|
@ -289,7 +311,9 @@ interface BiquadFilterNode : AudioNode {
|
|||
readonly attribute AudioParam detune;
|
||||
readonly attribute AudioParam Q;
|
||||
readonly attribute AudioParam gain;
|
||||
void getFrequencyResponse (Float32Array frequencyHz, Float32Array magResponse, Float32Array phaseResponse);
|
||||
void getFrequencyResponse (Float32Array frequencyHz,
|
||||
Float32Array magResponse,
|
||||
Float32Array phaseResponse);
|
||||
};
|
||||
|
||||
dictionary BiquadFilterOptions : AudioNodeOptions {
|
||||
|
@ -353,7 +377,8 @@ dictionary DelayOptions : AudioNodeOptions {
|
|||
|
||||
[Exposed=Window]
|
||||
interface DynamicsCompressorNode : AudioNode {
|
||||
constructor (BaseAudioContext context, optional DynamicsCompressorOptions options = {});
|
||||
constructor (BaseAudioContext context,
|
||||
optional DynamicsCompressorOptions options = {});
|
||||
readonly attribute AudioParam threshold;
|
||||
readonly attribute AudioParam knee;
|
||||
readonly attribute AudioParam ratio;
|
||||
|
@ -383,7 +408,9 @@ dictionary GainOptions : AudioNodeOptions {
|
|||
[Exposed=Window]
|
||||
interface IIRFilterNode : AudioNode {
|
||||
constructor (BaseAudioContext context, IIRFilterOptions options);
|
||||
void getFrequencyResponse (Float32Array frequencyHz, Float32Array magResponse, Float32Array phaseResponse);
|
||||
void getFrequencyResponse (Float32Array frequencyHz,
|
||||
Float32Array magResponse,
|
||||
Float32Array phaseResponse);
|
||||
};
|
||||
|
||||
dictionary IIRFilterOptions : AudioNodeOptions {
|
||||
|
@ -555,7 +582,8 @@ callback AudioWorkletProcessorConstructor = AudioWorkletProcessor (object option
|
|||
|
||||
[Global=(Worklet, AudioWorklet), Exposed=AudioWorklet]
|
||||
interface AudioWorkletGlobalScope : WorkletGlobalScope {
|
||||
void registerProcessor (DOMString name, AudioWorkletProcessorConstructor processorCtor);
|
||||
void registerProcessor (DOMString name,
|
||||
AudioWorkletProcessorConstructor processorCtor);
|
||||
readonly attribute unsigned long long currentFrame;
|
||||
readonly attribute double currentTime;
|
||||
readonly attribute float sampleRate;
|
||||
|
|
|
@ -13,7 +13,7 @@ dictionary RTCConfiguration {
|
|||
};
|
||||
|
||||
enum RTCIceCredentialType {
|
||||
"password",
|
||||
"password"
|
||||
};
|
||||
|
||||
dictionary RTCIceServer {
|
||||
|
|
|
@ -24,6 +24,14 @@ function toMojoNDEFMessage(message) {
|
|||
|
||||
function toMojoNDEFRecord(record) {
|
||||
let nfcRecord = new device.mojom.NDEFRecord();
|
||||
if (record.recordType.search(':') != -1) {
|
||||
// Simply checks the existence of ':' to decide whether it's an external
|
||||
// type. As a mock, no need to really implement the validation algo at
|
||||
// https://w3c.github.io/web-nfc/#dfn-validate-external-type.
|
||||
nfcRecord.category = device.mojom.NDEFRecordTypeCategory.kExternal;
|
||||
} else {
|
||||
nfcRecord.category = device.mojom.NDEFRecordTypeCategory.kStandardized;
|
||||
}
|
||||
nfcRecord.recordType = record.recordType;
|
||||
nfcRecord.mediaType = record.mediaType;
|
||||
nfcRecord.id = record.id;
|
||||
|
|
|
@ -97,8 +97,8 @@ promise_test(async t => {
|
|||
|
||||
promise_test(async t => {
|
||||
const animation = createDiv(t).animate(null, 100 * MS_PER_SEC);
|
||||
animation.currentTime = 50 * MS_PER_SEC;
|
||||
await animation.ready;
|
||||
animation.currentTime = 50 * MS_PER_SEC;
|
||||
animation.playbackRate = 0;
|
||||
// Ensure that current time does not drift.
|
||||
assert_equals(animation.playState, 'running');
|
||||
|
|
|
@ -260,15 +260,15 @@
|
|||
|
||||
test(() => {
|
||||
assert_throws(new TypeError, () => new NDEFRecord(
|
||||
createRecord('foo.eXamPle.coM:bAr*-', "A string is not a BufferSource or NDEFMessage")),
|
||||
createRecord('foo.eXamPle.com:bAr*-', "A string is not a BufferSource or NDEFMessage")),
|
||||
'Only BufferSource and NDEFMessage are allowed to be the record data.');
|
||||
|
||||
let buffer = new ArrayBuffer(4);
|
||||
new Uint8Array(buffer).set([1, 2, 3, 4]);
|
||||
// Feed ArrayBuffer.
|
||||
{
|
||||
const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer, test_record_id));
|
||||
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
|
||||
const record = new NDEFRecord(createRecord('foo.eXamPle.com:bAr*-', buffer, test_record_id));
|
||||
assert_equals(record.recordType, 'foo.eXamPle.com:bAr*-', 'recordType');
|
||||
assert_equals(record.mediaType, null, 'mediaType');
|
||||
assert_equals(record.id, test_record_id, 'id');
|
||||
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
|
||||
|
@ -280,8 +280,8 @@
|
|||
{
|
||||
let buffer_view = new Uint8Array(buffer, 1);
|
||||
const record = new NDEFRecord(createRecord(
|
||||
'foo.eXamPle.coM:bAr*-', buffer_view, test_record_id));
|
||||
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
|
||||
'foo.eXamPle.com:bAr*-', buffer_view, test_record_id));
|
||||
assert_equals(record.recordType, 'foo.eXamPle.com:bAr*-', 'recordType');
|
||||
assert_equals(record.mediaType, null, 'mediaType');
|
||||
assert_equals(record.id, test_record_id, 'id');
|
||||
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
|
||||
|
@ -305,12 +305,22 @@
|
|||
}, 'NDEFRecord constructor with record type string being treated as case sensitive');
|
||||
|
||||
test(() => {
|
||||
// Length of the external type is 255, OK.
|
||||
const record = new NDEFRecord(createRecord(
|
||||
[...Array(251)].map(_ => 'a').join('') + ':xyz', test_buffer_data));
|
||||
// Exceeding 255, Throws.
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
[...Array(252)].map(_ => 'a').join('') + ':xyz', test_buffer_data)),
|
||||
'The external type should not be longer than 255.');
|
||||
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
'xyz', test_buffer_data)), 'The external type must have a \':\'.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
':xyz', test_buffer_data)), 'The domain should not be empty.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
'[:xyz', test_buffer_data)), '"[" is not a valid FQDN.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
'example.com:', test_buffer_data)), 'The type should not be empty.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
'example.com:xyz[', test_buffer_data)), 'The type should not contain \'[\'.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
'example.com:xyz~', test_buffer_data)), 'The type should not contain \'~\'.');
|
||||
assert_throws(new TypeError, () => new NDEFRecord(createRecord(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue