blob: 9dd42e0f64d6d214a2802be68927a0a582a54e5b [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<script src='test.js'></script>
<script src='get_element_region.js'></script>
<script>
function testNotElement() {
try {
getElementRegion(document);
assert(false);
} catch (error) {
assertEquals(document + ' is not an element', error.message);
}
}
function testElementWithFirstClientRect() {
var region = getElementRegion(document.getElementById('a'));
assertEquals(0, region.left);
assertEquals(0, region.top);
assertEquals(100, region.width);
assertEquals(200, region.height);
}
function testSvgElement() {
var region = getElementRegion(document.getElementById('e'));
assertEquals(0, region.left);
assertEquals(0, region.top);
assertEquals(170, region.width);
assertEquals(110, region.height);
}
function testElementWithoutBoundingRectangle() {
var region = getElementRegion(document.getElementsByTagName('br')[0]);
assertEquals(0, region.left);
assertEquals(0, region.top);
assertEquals(0, region.width);
assertEquals(0, region.height);
}
function testAreaPoly() {
var region = getElementRegion(document.getElementById('poly'));
assertEquals(20, region.left);
assertEquals(10, region.top);
assertEquals(40, region.width);
assertEquals(45, region.height);
}
function testAreaRect() {
var region = getElementRegion(document.getElementById('rect'));
assertEquals(120, region.left);
assertEquals(100, region.top);
assertEquals(20, region.width);
assertEquals(50, region.height);
}
function testAreaCircle() {
var region = getElementRegion(document.getElementById('circle'));
assertEquals(175, region.left);
assertEquals(165, region.top);
assertEquals(10, region.width);
assertEquals(10, region.height);
}
function testAreaDefault() {
try {
getElementRegion(document.getElementById('default'));
assert(false);
} catch (error) {
}
}
</script>
<body>
<div style="border: 3px coral solid;">
<div id="a" style="background-color:orange;width:100px;height:200px">
</div>
<br>
<div>
<svg xmlns="http://www.w3.org/2000/svg" height="130px" width="300px">
<ellipse cx="150" cy="65" rx="85" ry="55" id="e">
</ellipse>
</svg>
</div>
<br>
<div>
<img width="200" height="200" usemap="#imgmap">
<map name="imgmap">
<area id="poly" shape="poly" coords="20,20,30,10,50,20,60,40,50,50,30,55">
<area id="rect" shape="rect" coords="120,100,140,150">
<area id="circle" shape="circle" coords="180,170,5">
<area id="default" shape="default">
</map>
</div>
</div>
</body>
</html>