blob: c7fed1da68ad2a2be2effe802156a46bffac2f32 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style>body { margin:0; }</style>
<div style="writing-mode:vertical-rl; columns:4; column-gap:10px; column-fill:auto; height:430px; width:100px; background:yellow;"> <!-- column width is 100px -->
<div style="width:80px;"></div>
<div id="middleMulticol" style="columns:2; column-gap:10px; background:lime;"> <!-- column width is 45px -->
<div style="width:80px;"></div>
<div id="innerMulticol" style="columns:2; column-gap:5px; background:cyan;"> <!-- column width is 20px -->
<div id="innerChild" style="width:500px; background:olive;"></div>
</div>
<div id="middleChild" style="width:200px; background:salmon;"></div>
</div>
</div>
<script>
test(function() {
var rects = document.getElementById("middleMulticol").getClientRects();
assert_equals(rects.length, 4);
assert_equals(rects[0].top, 0);
assert_equals(rects[0].left, 0);
assert_equals(rects[0].bottom, 100);
assert_equals(rects[0].right, 20);
assert_equals(rects[1].top, 110);
assert_equals(rects[1].left, 0);
assert_equals(rects[1].bottom, 210);
assert_equals(rects[1].right, 100);
assert_equals(rects[2].top, 220);
assert_equals(rects[2].left, 0);
assert_equals(rects[2].bottom, 320);
assert_equals(rects[2].right, 100);
assert_equals(rects[3].top, 330);
assert_equals(rects[3].left, 55);
assert_equals(rects[3].bottom, 430);
assert_equals(rects[3].right, 100);
}, "#middleMulticol");
test(function() {
var rects = document.getElementById("innerMulticol").getClientRects();
assert_equals(rects.length, 3);
assert_equals(rects[0].top, 110);
assert_equals(rects[0].left, 0);
assert_equals(rects[0].bottom, 155);
assert_equals(rects[0].right, 60);
assert_equals(rects[1].top, 165);
assert_equals(rects[1].left, 0);
assert_equals(rects[1].bottom, 210);
assert_equals(rects[1].right, 100);
assert_equals(rects[2].top, 220);
assert_equals(rects[2].left, 10);
assert_equals(rects[2].bottom, 265);
assert_equals(rects[2].right, 100);
}, "#innerMulticol");
test(function() {
var rects = document.getElementById("innerChild").getClientRects();
assert_equals(rects.length, 6);
assert_equals(rects[0].top, 110);
assert_equals(rects[0].left, 0);
assert_equals(rects[0].bottom, 130);
assert_equals(rects[0].right, 60);
assert_equals(rects[1].top, 135);
assert_equals(rects[1].left, 0);
assert_equals(rects[1].bottom, 155);
assert_equals(rects[1].right, 60);
assert_equals(rects[2].top, 165);
assert_equals(rects[2].left, 0);
assert_equals(rects[2].bottom, 185);
assert_equals(rects[2].right, 100);
assert_equals(rects[3].top, 190);
assert_equals(rects[3].left, 0);
assert_equals(rects[3].bottom, 210);
assert_equals(rects[3].right, 100);
assert_equals(rects[4].top, 220);
assert_equals(rects[4].left, 10);
assert_equals(rects[4].bottom, 240);
assert_equals(rects[4].right, 100);
assert_equals(rects[5].top, 245);
assert_equals(rects[5].left, 10);
assert_equals(rects[5].bottom, 265);
assert_equals(rects[5].right, 100);
}, "#innerChild");
test(function() {
var rects = document.getElementById("middleChild").getClientRects();
assert_equals(rects.length, 4);
assert_equals(rects[0].top, 220);
assert_equals(rects[0].left, 0);
assert_equals(rects[0].bottom, 265);
assert_equals(rects[0].right, 10);
assert_equals(rects[1].top, 275);
assert_equals(rects[1].left, 0);
assert_equals(rects[1].bottom, 320);
assert_equals(rects[1].right, 100);
assert_equals(rects[2].top, 330);
assert_equals(rects[2].left, 55);
assert_equals(rects[2].bottom, 375);
assert_equals(rects[2].right, 100);
assert_equals(rects[3].top, 385);
assert_equals(rects[3].left, 55);
assert_equals(rects[3].bottom, 430);
assert_equals(rects[3].right, 100);
}, "#middleChild");
</script>