145 lines
3.2 KiB
HTML
145 lines
3.2 KiB
HTML
<!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>
|