312 lines
13 KiB
HTML
Executable File
312 lines
13 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<title>script.aculo.us Unit test file</title>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<script src="../../lib/prototype.js" type="text/javascript"></script>
|
|
<script src="../../src/scriptaculous.js" type="text/javascript"></script>
|
|
<script src="../../src/unittest.js" type="text/javascript"></script>
|
|
<link rel="stylesheet" href="../test.css" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<h1>script.aculo.us Unit test file</h1>
|
|
<p>
|
|
Tests for Postion.clone (to be moved to Prototype)
|
|
</p>
|
|
|
|
<!-- Log output -->
|
|
<div id="testlog"> </div>
|
|
|
|
<!-- Tests follow -->
|
|
<script type="text/javascript" language="javascript" charset="utf-8">
|
|
// <![CDATA[
|
|
|
|
function prepareTarget(contained, position1, position2) {
|
|
var target;
|
|
if($('target_div')) Element.remove('target_div');
|
|
if($('container_div')) Element.remove('container_div');
|
|
if(contained) {
|
|
target = Builder.node('div',
|
|
{id: 'container_div', style: 'position:' + position1},
|
|
[Builder.node('div', {id: 'target_div', style: 'position: ' +position2})]);
|
|
} else {
|
|
target = Builder.node('div',
|
|
{id: 'target_div', style: 'position:' + position1}, '456');
|
|
}
|
|
document.body.appendChild(target);
|
|
Position.clone($('source_div'),$('target_div'));
|
|
}
|
|
|
|
function prepareTargetHidden(contained, position1, position2) {
|
|
var target;
|
|
if($('target_div')) Element.remove('target_div');
|
|
if($('container_div')) Element.remove('container_div');
|
|
if(contained) {
|
|
target = Builder.node('div',
|
|
{id: 'container_div', style: 'position:' + position1},
|
|
[Builder.node('div', {id: 'target_div', style: 'display:none; position: ' +position2})]);
|
|
} else {
|
|
target = Builder.node('div',
|
|
{id: 'target_div', style: 'display:none; position:' + position1}, '456');
|
|
}
|
|
document.body.appendChild(target);
|
|
Position.clone($('source_div'),$('target_div'));
|
|
Element.show($('target_div'));
|
|
}
|
|
|
|
new Test.Unit.Runner({
|
|
|
|
teardown: function() {
|
|
Element.remove($('source_div'));
|
|
},
|
|
|
|
testPositionCloneFromAbsolute: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'position:absolute; top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect([120, 20]);
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTarget(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTarget(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTarget(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTarget(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}},
|
|
|
|
testPositionCloneFromRelative: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'position:relative; top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect(Position.page($('source_div')));
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTarget(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTarget(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTarget(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTarget(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}},
|
|
|
|
testPositionCloneFromStatic: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect(Position.page($('source_div')));
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTarget(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTarget(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTarget(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTarget(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTarget(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}},
|
|
|
|
testPositionCloneFromAbsoluteWithHiddenTarget: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'position:absolute; top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect([120, 20]);
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTargetHidden(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTargetHidden(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}},
|
|
|
|
testPositionCloneFromRelativeWithHiddenTarget: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'position:relative; top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect(Position.page($('source_div')));
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTargetHidden(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTargetHidden(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}},
|
|
|
|
testPositionCloneFromStaticWithHiddenTarget: function() { with(this) {
|
|
var source = Builder.node('div',
|
|
{id: 'source_div', style: 'top:20px; left:120px; width:100px; height:50px;'}, '123');
|
|
document.body.appendChild(source);
|
|
var expected = Object.inspect(Position.page($('source_div')));
|
|
assertEqual(expected, Object.inspect(Position.page($('source_div'))));
|
|
|
|
prepareTargetHidden(false, 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute BODY child");
|
|
|
|
prepareTargetHidden(false, 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'absolute', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of absolute BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'relative', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of relative BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'absolute');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to absolute child of static BODY child");
|
|
|
|
prepareTargetHidden(true, 'static', 'fixed');
|
|
assertEqual(expected, Object.inspect(Position.page($('target_div'))),
|
|
"Clone to fixed child of static BODY child");
|
|
}}
|
|
|
|
});
|
|
|
|
// ]]>
|
|
</script>
|
|
|
|
<!-- Test elements will be inserted after this -->
|
|
|
|
</body>
|
|
</html> |