Blame dom/base/test/test_bug410229.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
Packit f0b94e
https://bugzilla.mozilla.org/show_bug.cgi?id=410229
Packit f0b94e
-->
Packit f0b94e
<head>
Packit f0b94e
  <title>Test for Bug 410229</title>
Packit f0b94e
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
Packit f0b94e
</head>
Packit f0b94e
<body>
Packit f0b94e
Packit f0b94e
Mozilla Bug 410229
Packit f0b94e

Packit f0b94e
Packit f0b94e
Hello
Packit f0b94e
My
Packit f0b94e
Kitty
Packit f0b94e
Packit f0b94e

Packit f0b94e
Hello
My
Kitty
Packit f0b94e
Packit f0b94e

Packit f0b94e
My
Kitty
Packit f0b94e
Packit f0b94e

Packit f0b94e
My
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
<script class="testbody" type="text/javascript">
Packit f0b94e
Packit f0b94e
var s = document.getElementById("s");
Packit f0b94e
var inner = document.getElementById("inner");
Packit f0b94e
var rects = s.getClientRects();
Packit f0b94e
is(s.getBoundingClientRect().top, inner.getBoundingClientRect().top,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should start where its first line starts");
Packit f0b94e
is(s.getClientRects().length, 3,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have three CSS boxes");
Packit f0b94e
ok(rects[0].left < rects[0].right && rects[0].top < rects[0].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a non-zero width first rect");
Packit f0b94e
ok(rects[1].left < rects[1].right && rects[1].top < rects[1].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a non-zero width second rect");
Packit f0b94e
ok(rects[2].left < rects[2].right && rects[2].top < rects[2].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a non-zero width second rect");
Packit f0b94e
is(s.getBoundingClientRect().top, rects[0].top,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should start where its first rect starts");
Packit f0b94e
is(s.getBoundingClientRect().bottom, rects[2].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its last rect ends");
Packit f0b94e
Packit f0b94e
s = document.getElementById("s2");
Packit f0b94e
inner = document.getElementById("inner2");
Packit f0b94e
rects = s.getClientRects();
Packit f0b94e
is(s.getBoundingClientRect().bottom, inner.getBoundingClientRect().bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its last line ends");
Packit f0b94e
is(s.getClientRects().length, 3,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have three CSS boxes");
Packit f0b94e
is(s.getBoundingClientRect().bottom, rects[2].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its last rect ends");
Packit f0b94e
Packit f0b94e
s = document.getElementById("s3");
Packit f0b94e
inner = document.getElementById("inner3");
Packit f0b94e
var block = document.getElementById("inner3block");
Packit f0b94e
rects = s.getClientRects();
Packit f0b94e
is(s.getBoundingClientRect().top, block.getBoundingClientRect().top,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should start where its first line starts");
Packit f0b94e
is(s.getBoundingClientRect().bottom, inner.getBoundingClientRect().bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its last line ends");
Packit f0b94e
is(s.getClientRects().length, 3,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have three CSS boxes");
Packit f0b94e
is(rects[0].left, rects[0].right,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a zero width first rect");
Packit f0b94e
is(s.getBoundingClientRect().top, rects[1].top,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should start where its second rect starts");
Packit f0b94e
Packit f0b94e
s = document.getElementById("s4");
Packit f0b94e
block = document.getElementById("inner4block");
Packit f0b94e
rects = s.getClientRects();
Packit f0b94e
is(s.getBoundingClientRect().top, block.getBoundingClientRect().top,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should start where its first line starts");
Packit f0b94e
is(s.getBoundingClientRect().bottom, block.getBoundingClientRect().bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its last line ends");
Packit f0b94e
is(s.getClientRects().length, 3,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have three CSS boxes");
Packit f0b94e
is(rects[0].left, rects[0].right,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a zero width first rect");
Packit f0b94e
is(s.getBoundingClientRect().bottom, rects[1].bottom,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should end where its block rect ends");
Packit f0b94e
/*
Packit f0b94e
ok(rects[2].left == rects[2].right,
Packit f0b94e
   "'"+s.id+"' "+"IB-split span should have a zero width last rect");
Packit f0b94e
*/
Packit f0b94e
Packit f0b94e
/*
Packit f0b94e
alert("'"+s.id+"' bounding rect:\n"+
Packit f0b94e
      '  left='+s.getBoundingClientRect().left+' right='+s.getBoundingClientRect().right+' top='+s.getBoundingClientRect().top+' bottom='+s.getBoundingClientRect().bottom + '\nclient rects:\n' +
Packit f0b94e
      '  left='+rects[0].left+' right='+rects[0].right+' top='+rects[0].top+' bottom='+rects[0].bottom + '\n' +
Packit f0b94e
      '  left='+rects[1].left+' right='+rects[1].right+' top='+rects[1].top+' bottom='+rects[1].bottom + '\n' +
Packit f0b94e
      '  left='+rects[2].left+' right='+rects[2].right+' top='+rects[2].top+' bottom='+rects[2].bottom + '\n');
Packit f0b94e
*/
Packit f0b94e
Packit f0b94e
</script>
Packit f0b94e
Packit f0b94e
</body>
Packit f0b94e
Packit f0b94e
</html>