blob: 293cb34548e0aa65bc4fcbc1805cc542c9669284 [file] [log] [blame]
<!DOCTYPE html>
<html>
<!--
Copyright 2008 The Closure Library Authors. All Rights Reserved.
Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests - goog.graphics.ext.Element</title>
<script src="../../base.js"></script>
<script>
goog.require('goog.graphics');
goog.require('goog.graphics.ext');
goog.require('goog.testing.StrictMock');
goog.require('goog.testing.jsunit');
</script>
</head>
<body>
<div id="root" style="display: none"></div>
<script>
var el, graphics, mockWrapper;
function setUp() {
var div = document.getElementById('root');
graphics = new goog.graphics.ext.Graphics(100, 100, 200, 200);
div.innerHTML = '';
graphics.render(div);
mockWrapper = new goog.testing.StrictMock(goog.graphics.Element);
}
function tearDown() {
mockWrapper.$verify();
}
function assertPosition(fn, left, top, opt_width, opt_height) {
mockWrapper.setTransformation(0, 0, 0, 5, 5);
mockWrapper.setTransformation(left, top, 0,
(opt_width || 10) / 2, (opt_height || 10) / 2);
mockWrapper.$replay();
el = new goog.graphics.ext.Element(graphics, mockWrapper);
el.setSize(10, 10);
fn();
}
function testLeft() {
assertPosition(function() {
el.setLeft(10);
}, 10, 0);
assertFalse(el.isParentDependent());
}
function testLeftPercent() {
assertPosition(function() {
el.setLeft('10%');
}, 20, 0);
}
function testCenter() {
assertPosition(function() {
el.setCenter(0);
}, 95, 0);
assertTrue(el.isParentDependent());
}
function testCenterPercent() {
assertPosition(function() {
el.setCenter('10%');
}, 115, 0);
}
function testRight() {
assertPosition(function() {
el.setRight(10);
}, 180, 0);
assertTrue(el.isParentDependent());
}
function testRightPercent() {
assertPosition(function() {
el.setRight('10%');
}, 170, 0);
assertTrue(el.isParentDependent());
}
function testTop() {
assertPosition(function() {
el.setTop(10);
}, 0, 10);
assertFalse(el.isParentDependent());
}
function testTopPercent() {
assertPosition(function() {
el.setTop('10%');
}, 0, 20);
}
function testMiddle() {
assertPosition(function() {
el.setMiddle(0);
}, 0, 95);
assertTrue(el.isParentDependent());
}
function testMiddlePercent() {
assertPosition(function() {
el.setMiddle('10%');
}, 0, 115);
}
function testBottom() {
assertPosition(function() {
el.setBottom(10);
}, 0, 180);
assertTrue(el.isParentDependent());
}
function testBottomPercent() {
assertPosition(function() {
el.setBottom('10%');
}, 0, 170);
assertTrue(el.isParentDependent());
}
function testSize() {
assertPosition(function() {
el.setSize(100, 100);
}, 0, 0, 100, 100);
assertFalse(el.isParentDependent());
}
function testSizePercent() {
assertPosition(function() {
el.setSize('10%', '20%');
}, 0, 0, 20, 40);
assertTrue(el.isParentDependent());
}
</script>
</body>
</html>