Closed Bug 1913492 Opened 3 months ago Closed 3 months ago

[wpt-sync] Sync PR 47645 - Add tests for calc-size(calc-size(any, ...), size), which is allowed.

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
131 Branch
Tracking Status
firefox131 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 47645 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/47645
Details from upstream follow.

David Baron <dbaron@chromium.org> wrote:

Add tests for calc-size(calc-size(any, ...), size), which is allowed.

This change removes a TODO comment saying that the 'size' keyword should
be disallowed when the nested basis is 'any', and adds tests testing
that things work correctly for such cases.

This restriction is not required by the spec, and is not needed, since
the behavior of the 'size' keyword in this case is well-defined.

Bug: 313072
Change-Id: Icc2a879e8559ef5b0c97b852d179d73a7f113aa1
Reviewed-on: https://chromium-review.googlesource.com/5792521
WPT-Export-Revision: 8b6a7d784e06fe7052d08980b2d3ea722febfaac

PR 47645 applied with additional changes from upstream: 241bac23f73c4320826ca33766b0c312fb999f93
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 3 tests and 94 subtests

Status Summary

Firefox

OK : 3
PASS: 60
FAIL: 82

Chrome

OK : 3
PASS: 139
FAIL: 3

Safari

OK : 3
PASS: 60
FAIL: 82

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-values/calc-size/animation/calc-size-interpolation-expansion.html [wpt.fyi]
    • value at progress 0.75 in animation of "height" from "auto" to "calc-size(any, 0px)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "height" from "0px" to "calc-size(calc-size(min-content, size + 20px), size * 2)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "height" from "calc-size(min-content, size * 4)" to "calc-size(calc-size(min-content, size + 20px), size * 2)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(fit-content, 20px)" to "calc-size(calc-size(fit-content, 40px), size)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(any, 20px)" to "calc-size(calc-size(fit-content, 40px), size)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(calc-size(any, 30px), 20px)" to "calc-size(calc-size(fit-content, 40px), size)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(fit-content, 20px)" to "calc-size(calc-size(fit-content, 3 * size + 10px), min(size + 20px, size * 2 - 30px) + size * 2 + 80px)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(50%, size)" to "calc-size(calc-size(45%, (size * 2)), size + 20px)": FAIL (Chrome: FAIL, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(40%, size)" to "calc-size(calc-size(10px, (size * 2)), size + 20px)": FAIL (Chrome: FAIL, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(80px, size)" to "calc-size(calc-size(10px, (size * 2)), size + 20px)": FAIL (Chrome: PASS, Safari: FAIL)
    • value at progress 0.75 in animation of "width" from "calc-size(80px, size)" to "calc-size(calc-size(any, 20px), size + 20px)": FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-values/calc-size/calc-size-height.html [wpt.fyi]
    • resolved height for height in auto height container: calc-size(any, 357px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(any, 357px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(any, 31%): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(any, 31%): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(31%, size): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(max-content, 31%): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(max-content, 31%): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(fit-content, 72px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(fit-content, 72px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(37px, 93px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(37px, 93px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(83px, size * 3): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(83px, size * 3): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(min-content, size / 2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(min-content, size / 2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(max-content, size * 1.2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(max-content, size * 1.2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(fit-content, size / 2 + 30px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(fit-content, size / 2 + 30px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(30px, 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(30px, 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(calc-size(any, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(calc-size(any, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(calc-size(2in, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(calc-size(2in, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(calc-size(any, 300px), size * 2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(calc-size(any, 300px), size * 2): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(calc-size(min-content, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(calc-size(min-content, 30px), 15em): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(any, 31% + 12px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(any, 31% + 12px): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in auto height container: calc-size(auto, size * 1.5): FAIL (Chrome: PASS, Safari: FAIL)
    • resolved height for height in definite height container: calc-size(auto, size * 1.5): FAIL (Chrome: PASS, Safari: FAIL)
  • /css/css-values/calc-size/calc-size-parsing.html [wpt.fyi]
    • e.style['width'] = "calc-size(auto, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-width'] = "calc-size(auto, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['height'] = "calc-size(auto, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-height'] = "calc-size(auto, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['height'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-width'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-height'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-width'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-height'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['block-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['inline-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-block-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-inline-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-block-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['min-inline-size'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(fit-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['height'] = "calc-size(min-content, size * 2)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-width'] = "calc-size(max-content, size / 2)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['max-height'] = "calc-size(fit-content, 30px + size / 2)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(fit-content, 50% + size / 2)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(any, 25em)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(any, 40%)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(any, 50px + 30%)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(calc-size(any, 30px), size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(10px, sign(size) * size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(30px, 25em)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(calc-size(any, 30px), 25em)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(calc-size(2in, 30px), 25em)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(calc-size(min-content, 30px), 25em)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(calc-size(min-content, size), size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(any, 50px)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(auto, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(min-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(max-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(fit-content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['flex-basis'] = "calc-size(content, size)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
    • e.style['width'] = "calc-size(0px, 0px)" should set the property value: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/adf9b9ec8ccf [wpt PR 47645] - Add tests for calc-size(calc-size(any, ...), size), which is allowed., a=testonly https://hg.mozilla.org/integration/autoland/rev/e6cf69a7dbf9 [wpt PR 47645] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 131 Branch
You need to log in before you can comment on or make changes to this bug.