99 lines
3.4 KiB
HTML
99 lines
3.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="resources/elementsFromPoint.js"></script>
|
|
<style>
|
|
html, body {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
#testtable {
|
|
margin: 100px;
|
|
width: 200px;
|
|
height: 200px;
|
|
background-color: rgba(0,180,0,0.2);
|
|
}
|
|
#testtable tr {
|
|
background-color: rgba(180,0,0,0.2);
|
|
}
|
|
#testtable td {
|
|
background-color: rgba(0,0,180,0.2);
|
|
}
|
|
.rtl {
|
|
direction: rtl;
|
|
}
|
|
.tblr {
|
|
writing-mode: vertical-lr;
|
|
}
|
|
</style>
|
|
<div id='sandbox'>
|
|
<table id='testtable'>
|
|
<tr id='tr1'>
|
|
<td id='td11'></td>
|
|
<td id='td12'></td>
|
|
<td id='td13'></td>
|
|
<td id='td14'></td>
|
|
</tr>
|
|
<tr id='tr2'>
|
|
<td id='td21'></td>
|
|
<td id='td22'></td>
|
|
<td id='td23'></td>
|
|
<td id='td24'></td>
|
|
</tr>
|
|
<tr id='tr3'>
|
|
<td id='td31'></td>
|
|
<td id='td32'></td>
|
|
<td id='td33'></td>
|
|
<td id='td34'></td>
|
|
</tr>
|
|
<tr id='tr4'>
|
|
<td id='td41'></td>
|
|
<td id='td42'></td>
|
|
<td id='td43'></td>
|
|
<td id='td44'></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<script>
|
|
test(function() {
|
|
assertElementsFromPoint('document', 125, 125,
|
|
[td11, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 275, 125,
|
|
[td14, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 175, 175,
|
|
[td22, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 125, 275,
|
|
[td41, testtable, sandbox, document.body, document.documentElement]);
|
|
}, 'elementsFromPoint for points inside table cells');
|
|
|
|
test(function() {
|
|
assertElementsFromPoint('document', 100, 100,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 199, 199,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
}, 'elementsFromPoint for points between table cells');
|
|
|
|
testtable.setAttribute('class', 'rtl');
|
|
test(function() {
|
|
assertElementsFromPoint('document', 125, 125,
|
|
[td14, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 275, 125,
|
|
[td11, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 100, 100,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 199, 199,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
}, 'elementsFromPoint for points inside cells in a right-to-left table');
|
|
|
|
testtable.setAttribute('class', 'tblr');
|
|
test(function() {
|
|
assertElementsFromPoint('document', 125, 275,
|
|
[td14, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 275, 125,
|
|
[td41, testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 100, 100,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
assertElementsFromPoint('document', 199, 199,
|
|
[testtable, sandbox, document.body, document.documentElement]);
|
|
}, 'elementsFromPoint for points inside cells in a flipped (writing-mode:vertical-lr) table');
|
|
</script>
|