
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Rowspan Test</title>
	<style>#T1-1,#T1-2,#T2-1,#T2-2,#T3-1,#T3-2,#T4-1,#T4-2,#T5-1,#T5-2,#T7-1,#T7-2,#T8-1,#T8-2,#T9-1,#T9-2,#T10-1,#T10-4,#T11-2,#T11-4,#T12-2,#T12-4,#T13-1,#T13-2,#T13-3,#T13-4,#T13-5,#T14-1,#T14-2,#T15-1,#T15-2,#T15-3,#T16-1,#T16-2,#T16-3{color:green}#T10-2,#T10-3,#T11-1,#T11-3,#T12-1,#T12-3{color:blue} @font-face {font-family: 'myahem';src: url(../../resources/Ahem.ttf);}</style>
	<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<h3>Test for bugzilla bug : <a href="https://bugs.webkit.org/show_bug.cgi?id=18092">18092</a>. 'Baseline of last row cells in the table' is not aligned with 'baseline of rowspan cell' when 'rowspan value' is greater than 'number of remaining rows after rowspan cell + 1'.</h3>
<h4>'Baseline of last cell aligned with rowspan cell' should aligned with 'baseline of rowspan cell'.</h4>
<div id="Tests">
<h5>Test 1</h5>
<table border="1" width="607">
  <tbody>
    <tr>
	  <td>row0 col0</td>
	  <td>row0 col1</td>
	</tr>
    <tr>
      <td rowspan="2" width="260" id="T1-1">
        <div style="height:50px; width:350px">row1 col0 - rowspan=2</div>
      </td>
    </tr>
    <tr>
      <td id="T1-2">row2 col0</td>
    </tr>
    <tr>
      <td>row3 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 2</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="2" width="260" id="T2-1">
        <div style="width:350px">row0 col0 - rowspan=2</div>
      </td>
    </tr>
    <tr>
      <td id="T2-2">row1 <br/> col0</td>
    </tr>
    <tr>
      <td>row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 3</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="3" width="260" id="T3-1">
        <div style="height:100px; width:350px">row0 col0 - rowspan=3</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
    </tr>
    <tr>
      <td id="T3-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 4</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="4" width="260" id="T4-1">
        <div style="height:100px; width:350px">row0 col0 - rowspan=4</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
    </tr>
    <tr>
      <td id="T4-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 5</h5>
<table border="1" width="607">
  <tbody>
    <tr>
	  <td>row0 col0</td>
      <td rowspan="5" width="260" id="T5-1">
        <div style="height:100px; width:350px">row0 col1 - rowspan=5</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
    </tr>
    <tr>
      <td id="T5-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 6</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="4" width="260">
        <div>row0 col0 - rowspan=4</div>
      </td>
    </tr>
  </tbody>
</table>
<h5>Test 7</h5>
<table border="1" width="607">
  <tbody>
    <tr>
	  <td>row0 col0</td>
	  <td>row0 col1</td>
      <td rowspan="4" width="260" id="T7-1">
        <div style="height:100px; width:350px">row0 col2 - rowspan=4</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
    </tr>
    <tr>
      <td id="T7-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 8</h5>
<table border="1" width="607">
  <tbody>
    <tr>
	  <td>row0 col0</td>
      <td rowspan="5" width="260" id="T8-1">
        <div style="height:100px; width:350px">row0 col1 - rowspan=5</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
	  <td>row1 col1</td>
    </tr>
    <tr>
      <td id="T8-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 9</h5>
<table border="1">
  <tbody>
    <tr>
	  <td>row0 col0</td>
      <td rowspan="4" id="T9-1">
        <div>row0 col1 - rowspan=4</div>
      </td>
    </tr>
    <tr>
      <td>row1 col0</td>
	  <td>row1 col1</td>
    </tr>
    <tr>
      <td id="T9-2">row2 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 10</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="7" width="260" id="T10-1">
        <div style="height:250px;width:350px">row0 col0 - rowspan=7</div>
      </td>
    </tr>
    <tr>
      <td rowspan="3" width="100" id="T10-2">
        <div style="height:150px; width:350px">row1 col0 - rowspan=3</div>
      </td>
    </tr>
    <tr>
      <td>row2 col0</td>
    </tr>
    <tr>
      <td id="T10-3">row3 col0</td>
    </tr>
    <tr>
      <td>row4 col0</td>
    </tr>
    <tr>
      <td id="T10-4">row5 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 11</h5>
<table border="1" width="907">
  <tbody>
    <tr>
      <td rowspan="3" width="260" id="T11-1">
        <div style="height:50px; width:350px">row0 col0 - rowspan=3</div>
      </td>
    </tr>
    <tr>
      <td rowspan="7" width="100" id="T11-2">
        <div style="height:150px; width:350px">row1 col0 - rowspan=7</div>
      </td>
    </tr>
    <tr>
      <td id="T11-3">row2 col0</td>
    </tr>
    <tr>
      <td>row3 col0</td>
    </tr>
    <tr>
      <td>row4 col0</td>
    </tr>
    <tr>
      <td id="T11-4">row5 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 12</h5>
<table border="1" width="907">
  <tbody>
    <tr>
      <td rowspan="3" width="260" id="T12-1">
        <div style="width:350px">row0 col0 - rowspan=3</div>
      </td>
    </tr>
    <tr>
      <td rowspan="3" width="100" id="T12-2">
        <div style="height:100px;width:350px">row1 col0 - rowspan=3</div>
      </td>
    </tr>
    <tr>
      <td id="T12-3">row2 <br/> col0</td>
    </tr>
    <tr>
      <td id="T12-4">row3 col0</td>
    </tr>
    <tr>
      <td>row4 col0</td>
    </tr>
    <tr>
      <td>row5 col0</td>
    </tr>
  </tbody>
</table>
<h5>Test 13</h5>
<table border="1">
  <tbody>
    <tr>
      <td>r0 c0</td>
      <td>r0 c1</td>
      <td>r0 c2</td>
      <td rowspan="6" id="T13-1">
	    <div style="height:100px">r0 c3 rowspan=6</div>
	  </td>
    </tr>
    <tr>
      <td>r1 c0</td>
      <td>r1 c1</td>
      <td>r1 c2</td>
      <td>r1 c3</td>
    </tr>
    <tr>
      <td>r2 c0</td>
      <td>r2 c1</td>
      <td>r2 c2</td>
      <td>r2 c3</td>
    </tr>
    <tr>
      <td colspan="4" id="T13-2">r3 c0 colspan=4</td>
      <td id="T13-3">r3 c1</td>
      <td id="T13-4">r3 c2</td>
      <td id="T13-5">r3 c3</td>
    </tr>
  </tbody>
</table>
<h5>Test 14</h5>
<table border="1">
  <tbody>
    <tr>
      <td>r0 c0</td>
    </tr>
    <tr>
      <td>r1 c0</td>
      <td>r1 c1</td>
      <td rowspan="6" id="T14-1">
	  <div style="height:100px">r1 c2 rowspan=6</div>
	  </td>
    </tr>
    <tr>
      <td>r2 c0</td>
      <td>r2 c1</td>
    </tr>
    <tr>
	<td id="T14-2"></td>
    </tr>
  </tbody>
</table>
<h5>Test 15</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="4" width="260" id="T15-1">
        <div style="height:100px; width:350px">row0 col0 - rowspan=4</div>
      </td>
	  <td rowspan="3" id="T15-2">row0 col1 - rowspan=3</td>
    </tr>
    <tr><td id="T15-3">row2 col0</td></tr>
  </tbody>
</table>
<h5>Test 16</h5>
<table border="1" width="607">
  <tbody>
    <tr>
      <td rowspan="4" width="260" id="T16-1">
        <div style="width:350px">row0 col0 - rowspan=4</div>
      </td>
	  <td rowspan="3" id="T16-2">
        <div style="height:100px;">row0 col1 - rowspan=3</div>
      </td>
    </tr>
    <tr><td id="T16-3">row2 col0</td></tr>
  </tbody>
</table>
</div>
<div id="console"></div>
<script>
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 1 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T1-1').offsetTop + document.getElementById('T1-1').offsetHeight)", "(document.getElementById('T1-2').offsetTop + document.getElementById('T1-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 2 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T2-1').offsetTop + document.getElementById('T2-1').offsetHeight)", "(document.getElementById('T2-2').offsetTop + document.getElementById('T2-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 3 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T3-1').offsetTop + document.getElementById('T3-1').offsetHeight)", "(document.getElementById('T3-2').offsetTop + document.getElementById('T3-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 4 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T4-1').offsetTop + document.getElementById('T4-1').offsetHeight)", "(document.getElementById('T4-2').offsetTop + document.getElementById('T4-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 5 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T5-1').offsetTop + document.getElementById('T5-1').offsetHeight)", "(document.getElementById('T5-2').offsetTop + document.getElementById('T5-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 7 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T7-1').offsetTop + document.getElementById('T7-1').offsetHeight)", "(document.getElementById('T7-2').offsetTop + document.getElementById('T7-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 8 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T8-1').offsetTop + document.getElementById('T8-1').offsetHeight)", "(document.getElementById('T8-2').offsetTop + document.getElementById('T8-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 9 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T9-1').offsetTop + document.getElementById('T9-1').offsetHeight)", "(document.getElementById('T9-2').offsetTop + document.getElementById('T9-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 10 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T10-1').offsetTop + document.getElementById('T10-1').offsetHeight)", "(document.getElementById('T10-4').offsetTop + document.getElementById('T10-4').offsetHeight)");
  shouldBe("(document.getElementById('T10-2').offsetTop + document.getElementById('T10-2').offsetHeight)", "(document.getElementById('T10-3').offsetTop + document.getElementById('T10-3').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 11 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T11-1').offsetTop + document.getElementById('T11-1').offsetHeight)", "(document.getElementById('T11-3').offsetTop + document.getElementById('T11-3').offsetHeight)");
  shouldBe("(document.getElementById('T11-2').offsetTop + document.getElementById('T11-2').offsetHeight)", "(document.getElementById('T11-4').offsetTop + document.getElementById('T11-4').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 12 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T12-1').offsetTop + document.getElementById('T12-1').offsetHeight)", "(document.getElementById('T12-3').offsetTop + document.getElementById('T12-3').offsetHeight)");
  shouldBe("(document.getElementById('T12-2').offsetTop + document.getElementById('T12-2').offsetHeight)", "(document.getElementById('T12-4').offsetTop + document.getElementById('T12-4').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 13 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T13-1').offsetTop + document.getElementById('T13-1').offsetHeight)", "(document.getElementById('T13-2').offsetTop + document.getElementById('T13-2').offsetHeight)");
  shouldBe("(document.getElementById('T13-1').offsetTop + document.getElementById('T13-1').offsetHeight)", "(document.getElementById('T13-3').offsetTop + document.getElementById('T13-3').offsetHeight)");
  shouldBe("(document.getElementById('T13-1').offsetTop + document.getElementById('T13-1').offsetHeight)", "(document.getElementById('T13-4').offsetTop + document.getElementById('T13-4').offsetHeight)");
  shouldBe("(document.getElementById('T13-1').offsetTop + document.getElementById('T13-1').offsetHeight)", "(document.getElementById('T13-5').offsetTop + document.getElementById('T13-5').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 14 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T14-1').offsetTop + document.getElementById('T14-1').offsetHeight)", "(document.getElementById('T14-2').offsetTop + document.getElementById('T14-2').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 15 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T15-1').offsetTop + document.getElementById('T15-1').offsetHeight)", "(document.getElementById('T15-2').offsetTop + document.getElementById('T15-2').offsetHeight)");
  shouldBe("(document.getElementById('T15-1').offsetTop + document.getElementById('T15-1').offsetHeight)", "(document.getElementById('T15-3').offsetTop + document.getElementById('T15-3').offsetHeight)");
  document.getElementById('console').appendChild(document.createElement('br'));
  document.getElementById('console').appendChild(document.createElement('div').appendChild(document.createTextNode("Test 16 : ")));
  document.getElementById('console').appendChild(document.createElement('br'));
  shouldBe("(document.getElementById('T16-1').offsetTop + document.getElementById('T16-1').offsetHeight)", "(document.getElementById('T16-2').offsetTop + document.getElementById('T16-2').offsetHeight)");
  shouldBe("(document.getElementById('T16-1').offsetTop + document.getElementById('T16-1').offsetHeight)", "(document.getElementById('T16-3').offsetTop + document.getElementById('T16-3').offsetHeight)");
  document.getElementById('Tests').parentNode.removeChild(document.getElementById('Tests'));
</script>
</body>
</html>
