fune/testing/web-platform/tests/css/css-values/container-progress-serialize.tentative.html
Blink WPT Bot ff30dffe9c Bug 1887631 [wpt PR 45308] - Implement container-progress() function, a=testonly
Automatic update from web-platform-tests
Implement container-progress() function (#45308)

As introduced in https://drafts.csswg.org/css-values-5/#container-progress-func
The container-progress() functional notation returns a <number> value
representing current value of the size-feature of some container, that
can be either named or unnamed, as a progress value between two explicit
calc values.

Note: for now we only support width and height features.

Note: now it's an editor's draft with a very strong chances to be accepted.
Bug: 40944203
Change-Id: I4664ad8d01174bfdc9621ca304caecc9db37c9ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5391308
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1279994}

Co-authored-by: Daniil Sakhapov <sakhapov@chromium.org>
--

wpt-commits: 7aab4fec3dee833ed4bdca83e5fec037a6066055
wpt-pr: 45308
2024-04-10 09:25:08 +00:00

48 lines
1.3 KiB
HTML

<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-values-5/#container-progress-func">
<link rel="author" title="sakhapov@chromuim.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/serialize-testcommon.js"></script>
<div id="outer-container">
<div id="inner-container">
<div id=target></div>
</div>
</div>
<style>
:root {
font-size: 10px;
}
#outer-container {
container: my-container / size;
width: 322px;
height: 228px;
}
#inner-container {
container-type: size;
width: 228px;
height: 322px;
}
#target {
font-size: 10px;
}
</style>
<script>
function test_serialization(t,s,c) {
test_specified_serialization('opacity', t, s);
test_specified_serialization('transform', `scale(${t})`, `scale(${s})`);
test_computed_serialization('opacity', t, c);
test_computed_serialization('transform', `scale(${t})`, `matrix(${c}, 0, 0, ${c}, 0, 0)`);
}
test_serialization(
'calc(container-progress(width from 0px to 1px) / 1000)',
'calc(container-progress(width from 0px to 1px) / 1000)',
'0.228',
);
test_serialization(
'calc(0.1 * container-progress(height of my-container from 0px to 10em))',
'calc(0.1 * container-progress(height of my-container from 0px to 10em))',
'0.228',
);
</script>