fune/testing/web-platform/tests/css/css-values/progress-serialize.tentative.html
Daniil Sakhapov aded722c7e Bug 1879110 [wpt PR 44442] - Implement media-progress() function, a=testonly
Automatic update from web-platform-tests
Implement media-progress() function

As introduced in https://drafts.csswg.org/css-values-5/#media-progress-func
The media-progress() functional notation returns a <number> value
representing current value of the specified media query as a progress value
between two explicit values of the media query.

Note: for now we only support width and height with manual resolution.
Once it's properly specced, proper MQ parser and evaluator should be
used.

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

--

wpt-commits: 65aa1254fd5f8d9c4aa5c9961f039e7f4511eeab
wpt-pr: 44442
2024-03-27 10:30:24 +00:00

56 lines
1.5 KiB
HTML

<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-values-5/#progress">
<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=target></div>
<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(
'progress(100px from 0px to 100px)',
'calc(1)',
'1',
);
test_serialization(
'progress(10em from 0px to 10em)',
'progress(10em from 0px to 10em)',
'1',
);
test_serialization(
'progress(10em from 0px to 10rem)',
'progress(10em from 0px to 10rem)',
'1',
);
test_serialization(
'progress(100px from (10px - 10px) to 100px)',
'calc(1)',
'1',
);
test_serialization(
'progress(1% from (10% - 10%) to 100%)',
'calc(0.01)',
'0.01',
);
test_serialization(
'calc(0.5 * progress(100px from 0px to 100px))',
'calc(0.5)',
'0.5'
);
test_specified_serialization(
'width',
'calc(50px * progress(100px from 0px to 100px))',
'calc(50px)'
);
test_computed_serialization(
'width',
'calc(1px * progress(abs(10%) from (10% - 10%) to 100% / 10))',
'1px',
);
</script>