summaryrefslogtreecommitdiffstats
path: root/layout/style/test/test_query_container_for.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/test/test_query_container_for.html')
-rw-r--r--layout/style/test/test_query_container_for.html62
1 files changed, 62 insertions, 0 deletions
diff --git a/layout/style/test/test_query_container_for.html b/layout/style/test/test_query_container_for.html
new file mode 100644
index 0000000000..90dca9fab9
--- /dev/null
+++ b/layout/style/test/test_query_container_for.html
@@ -0,0 +1,62 @@
+<!doctype html>
+<title>Test for bug 1789191</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
+<style>
+@container (min-width: 0px) {
+}
+
+@container name (min-width: 0px) {
+}
+
+@container (min-height: 0px) {
+}
+
+div {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ margin: 10px;
+}
+
+.container-height {
+ container-type: size;
+}
+
+.container-unnamed {
+ container-type: inline-size;
+}
+
+.container-named {
+ container-type: inline-size;
+ container-name: name;
+}
+</style>
+
+<div id="child1"></div>
+
+<div class="container-height" id="container1">
+ <div class="container-named" id="container2">
+ <div class="container-unnamed" id="container3">
+ <div id="child2"></div>
+ </div>
+ </div>
+</div>
+
+<script>
+ let sheet = document.querySelector("style").sheet;
+ let withoutFilter = SpecialPowers.wrap(sheet.cssRules[0]);
+ let withFilter = SpecialPowers.wrap(sheet.cssRules[1]);
+ let heightQuery = SpecialPowers.wrap(sheet.cssRules[2]);
+
+ // Container query selection requires up-to-date layout information.
+ document.body.getBoundingClientRect();
+
+ is(withoutFilter.queryContainerFor(child1), null, "No filter, no container");
+ is(withFilter.queryContainerFor(child1), null, "Filter, no container");
+ is(heightQuery.queryContainerFor(child1), null, "Height, no container");
+
+ is(SpecialPowers.unwrap(withoutFilter.queryContainerFor(child2)), container3, "No filter, container");
+ is(SpecialPowers.unwrap(withFilter.queryContainerFor(child2)), container2, "Filter");
+ is(SpecialPowers.unwrap(heightQuery.queryContainerFor(child2)), container1, "Height");
+</script>