mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-01 03:57:15 +02:00
LibWeb/CSS: Backtrack the parser if a property does not accept a value
This commit is contained in:
committed by
Jelle Raaijmakers
parent
26293114d8
commit
028bcd3d67
Notes:
github-actions[bot]
2025-06-14 06:24:04 +00:00
Author: https://github.com/tcl3 Commit: https://github.com/LadybirdBrowser/ladybird/commit/028bcd3d67e Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5088 Reviewed-by: https://github.com/gmta ✅
@@ -0,0 +1,32 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout: parsing columns with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#propdef-columns">
|
||||
<meta name="assert" content="columns supports only the grammar '<column-width> || <column-count>'.">
|
||||
<script src="../../../resources/testharness.js"></script>
|
||||
<script src="../../../resources/testharnessreport.js"></script>
|
||||
<script src="../../../css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
// Invalid keyword.
|
||||
test_invalid_value("columns", "none");
|
||||
|
||||
// Only column-count can be unitless.
|
||||
test_invalid_value("columns", "10px 20px");
|
||||
test_invalid_value("columns", "10 20");
|
||||
|
||||
// column-count needs to be 1 or more.
|
||||
test_invalid_value("columns", "0 0");
|
||||
test_invalid_value("columns", "0 7px");
|
||||
|
||||
// Excess keywords.
|
||||
test_invalid_value("columns", "auto auto auto");
|
||||
test_invalid_value("columns", "10em auto auto");
|
||||
test_invalid_value("columns", "initial initial");
|
||||
test_invalid_value("columns", "inherit inherit");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Multi-column Layout: parsing columns with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-multicol/#propdef-columns">
|
||||
<meta name="assert" content="columns supports the full grammar '<column-width> || <column-count>'.">
|
||||
<script src="../../../resources/testharness.js"></script>
|
||||
<script src="../../../resources/testharnessreport.js"></script>
|
||||
<script src="../../../css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("columns", "auto 3", "3");
|
||||
test_valid_value("columns", "auto 10em", "10em");
|
||||
test_valid_value("columns", "3 auto", "3");
|
||||
test_valid_value("columns", "10em auto", "10em");
|
||||
test_valid_value("columns", "2 10px", "10px 2");
|
||||
test_valid_value("columns", "10px 2");
|
||||
test_valid_value("columns", "auto");
|
||||
test_valid_value("columns", "auto auto", "auto");
|
||||
test_valid_value("columns", "7");
|
||||
test_valid_value("columns", "7em");
|
||||
|
||||
// Unitless zero is allowed for column-width.
|
||||
test_valid_value("columns", "0 1", "0px 1");
|
||||
test_valid_value("columns", "1 0", "0px 1");
|
||||
test_valid_value("columns", "0px 1");
|
||||
|
||||
// CSS-wide keywords.
|
||||
test_valid_value("columns", "initial");
|
||||
test_valid_value("columns", "inherit");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user