mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 10:07:15 +02:00
Tests: Import some CSS if() tests
This commit is contained in:
Notes:
github-actions[bot]
2026-03-09 14:38:25 +00:00
Author: https://github.com/Calme1709 Commit: https://github.com/LadybirdBrowser/ladybird/commit/c1add21be2b Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8244 Reviewed-by: https://github.com/AtkinsSJ ✅
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<title>CSS Values and Units Test: if() media() condition invalidation</title>
|
||||
<meta name="assert" content="Test if() media() condition invalidation">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-values-5/#if-notation">
|
||||
<script src="../../resources/testharness.js"></script>
|
||||
<script src="../../resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
iframe {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
</style>
|
||||
<iframe id="iframe" srcdoc="
|
||||
<div id=target></div>
|
||||
<style>
|
||||
#target {
|
||||
--actual: if(media((height < 100px) or ((height >= 200px) and (height < 300px))): true_value; else: false_value;);
|
||||
}
|
||||
</style>
|
||||
"></iframe>
|
||||
|
||||
<script>
|
||||
function waitForLoad(w) {
|
||||
return new Promise(resolve => w.addEventListener('load', resolve));
|
||||
}
|
||||
|
||||
promise_test(async () => {
|
||||
await waitForLoad(window);
|
||||
const target = iframe.contentDocument.querySelector('#target');
|
||||
let actualValue = () => getComputedStyle(target).getPropertyValue('--actual');
|
||||
|
||||
assert_equals(actualValue(), 'true_value', '--actual before resize');
|
||||
|
||||
// [<height of frame>, <expected function result>]
|
||||
let data = [
|
||||
['100px', 'false_value'],
|
||||
['200px', 'true_value'],
|
||||
['300px', 'false_value']
|
||||
];
|
||||
|
||||
for (let d of data) {
|
||||
iframe.style.height = d[0];
|
||||
let expected = d[1];
|
||||
assert_equals(actualValue(), expected, `--actual after resize to ${d[0]}`);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user