fune/testing/web-platform/tests/css/css-values/progress-invalid.tentative.html
Daniil Sakhapov ceddb72f2a Bug 1865687 [wpt PR 43261] - Implement progress() function, a=testonly
Automatic update from web-platform-tests
Implement progress() function

As introduced in https://drafts.csswg.org/css-values-5/#progress
The progress() functional notation returns a <number> value
representing the position of one calculation (the progress value)
between two other calculations.

This progress function naturally mixes with existing math expression
node code, only requiring some special parsing.

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

--

wpt-commits: ef56b263783f156edf26f3f8c79753e53dfc07cd
wpt-pr: 43261
2023-11-29 09:17:59 +00:00

44 lines
1.8 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/parsing-testcommon.js"></script>
<script>
function test_invalid_number(value) {
test_invalid_value('opacity', value);
}
function test_invalid_length(value) {
// 'letter-spacing' accepts <length> only, not <percentage> or any mixes.
test_invalid_value('letter-spacing', value);
}
// Syntax checking
test_invalid_number('progress()');
test_invalid_number('progress( )');
test_invalid_number('progress(,)');
test_invalid_number('progress(1 from )');
test_invalid_number('progress(1)');
test_invalid_number('progress(50% to 0)');
test_invalid_number('progress(0 from 1 to)');
test_invalid_number('progress(from to)');
test_invalid_number('progress(from 1 to 0)');
test_invalid_number('progress(from 1 to 0 1)');
test_invalid_number('progress(from 1 0)');
test_invalid_number('progress(0 from to 0)');
test_invalid_number('progress(to to to to to)');
test_invalid_number('progress(0, from, 10, to 200)');
test_invalid_number('progress(0, from, 10, to, 200)');
test_invalid_number('progress(0, from 10, to 200)');
test_invalid_number('progress(0, 10, 200)');
// General tests
test_invalid_number('progress(5% from 0 to 8');
test_invalid_number('progress(5% from 0deg to 8deg');
test_invalid_number('progress(5 from 0deg to 8deg');
test_invalid_number('progress(5 from 0% to 8deg');
test_invalid_number('progress(5 from 0% to sign(10px)');
test_invalid_number('progress(5% from 0px to 10px');
test_invalid_length('calc(1px * progress(10deg from 0 to 10))');
test_invalid_length('calc(1px * progress(10 from 0px to 10))');
</script>