Updated
This commit is contained in:
178
master/examples/BorderContainer.html
Normal file
178
master/examples/BorderContainer.html
Normal file
@@ -0,0 +1,178 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>doh.robot BorderContainer Test</title>
|
||||
|
||||
<style>
|
||||
@import "../../../../util/doh/robot/robot.css";
|
||||
</style>
|
||||
|
||||
<!-- required: dojo.js -->
|
||||
<script type="text/javascript" src="../../../../dojo/dojo.js"
|
||||
djConfig="isDebug: true"></script>
|
||||
|
||||
<!-- functions to help test -->
|
||||
<script type="text/javascript" src="../../helpers.js"></script>
|
||||
<script type="text/javascript" src="./borderContainerTestFunctions.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
dojo.require("dijit.robotx");
|
||||
|
||||
dojo.ready(function(){
|
||||
doh.robot.initRobot('../test_BorderContainer.html');
|
||||
|
||||
doh.register("mouse", [
|
||||
{
|
||||
name: "expand right pane",
|
||||
timeout: 10000,
|
||||
runTest: function(t){
|
||||
var d = new doh.Deferred();
|
||||
|
||||
var oTop = dojo.position(dojo.byId("border2-top")),
|
||||
oCenter = dojo.position(dojo.byId("border2-center")),
|
||||
oRight = dojo.position(dojo.byId("border2-trailing")),
|
||||
oBottom = dojo.position(dojo.byId("border2-bottom"));
|
||||
|
||||
// Drag slider to expand pane
|
||||
var size = dojo.position("border2-trailing_splitter");
|
||||
doh.robot.mouseMoveAt("border2-trailing_splitter", 500);
|
||||
doh.robot.mousePress({left: true}, 500);
|
||||
doh.robot.mouseMoveAt("border2-trailing_splitter", 500, 100,
|
||||
size.w/2 + (dojo._isBodyLtr() ? -100 : 100), size.h/2);
|
||||
doh.robot.mouseRelease({left: true}, 500);
|
||||
doh.robot.sequence(d.getTestCallback(function(){
|
||||
var nTop = dojo.position(dojo.byId("border2-top")),
|
||||
nCenter = dojo.position(dojo.byId("border2-center")),
|
||||
nRight = dojo.position(dojo.byId("border2-trailing")),
|
||||
nBottom = dojo.position(dojo.byId("border2-bottom"));
|
||||
|
||||
doh.t(within(oRight.w + 100, nRight.w, 10), "right width went from " + oRight.w + " to " + nRight.w);
|
||||
doh.t(within(oTop.w - 100, nTop.w, 10), "top width went from " + oTop.w + " to " + nTop.w);
|
||||
doh.t(within(oCenter.w - 100, nCenter.w, 10), "center width went from " + oCenter.w + " to " + nCenter.w);
|
||||
doh.t(within(oBottom.w - 100, nBottom.w, 10), "bottom width went from " + nBottom.w + " to " + nBottom.w);
|
||||
}), 500);
|
||||
|
||||
return d;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "shrink bottom pane",
|
||||
timeout: 10000,
|
||||
runTest: function(t){
|
||||
var d = new doh.Deferred();
|
||||
|
||||
var oTop = dojo.position(dojo.byId("border2-top")),
|
||||
oCenter = dojo.position(dojo.byId("border2-center")),
|
||||
oRight = dojo.position(dojo.byId("border2-trailing")),
|
||||
oBottom = dojo.position(dojo.byId("border2-bottom"));
|
||||
|
||||
// Drag slider to shrink pane
|
||||
var size = dojo.position("border2-bottom_splitter");
|
||||
doh.robot.mouseMoveAt("border2-bottom_splitter", 500);
|
||||
doh.robot.mousePress({left: true}, 500);
|
||||
doh.robot.mouseMoveAt("border2-bottom_splitter", 500, 100, size.w/2, size.h/2 + 10);
|
||||
doh.robot.mouseRelease({left: true}, 500);
|
||||
doh.robot.sequence(d.getTestCallback(function(){
|
||||
var nTop = dojo.position(dojo.byId("border2-top")),
|
||||
nCenter = dojo.position(dojo.byId("border2-center")),
|
||||
nRight = dojo.position(dojo.byId("border2-trailing")),
|
||||
nBottom = dojo.position(dojo.byId("border2-bottom"));
|
||||
|
||||
doh.t(within(oBottom.h - 10, nBottom.h, 10), "bottom height went from " + oBottom.h + " to " + nBottom.h);
|
||||
doh.t(within(oCenter.h + 10, nCenter.h, 10), "center height went from " + oCenter.h + " to " + nCenter.h);
|
||||
}), 500);
|
||||
|
||||
return d;
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
doh.register("keyboard", [
|
||||
function setup(){
|
||||
// Workaround FF4 bug where overflow:auto panes get focus even when
|
||||
// they don't have a scrollbar, remove when
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=616594 fixed
|
||||
if(dojo.isFF == 4){
|
||||
dojo.query(".dijitContentPane").style("overflow", "hidden");
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
name: "tabIndex",
|
||||
timeout: 10000,
|
||||
runTest: function(t){
|
||||
var d = new doh.Deferred();
|
||||
doh.robot.sequence(function(){
|
||||
dojo.byId("toggleLeftButton").focus();
|
||||
}, 500, 500);
|
||||
|
||||
// Tab into second BorderContainer, landing on link
|
||||
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
||||
doh.robot.sequence(d.getTestErrback(function(){
|
||||
doh.is("a link", innerText(dojo.global.dijit.focus.curNode), "tabbed to link");
|
||||
}), 500);
|
||||
|
||||
// Tab past ComboBox to get to splitter for bottom panel
|
||||
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
||||
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
||||
doh.robot.sequence(d.getTestErrback(function(){
|
||||
doh.is("border2-bottom_splitter", dojo.global.dijit.focus.curNode.id, "focus on bottom splitter");
|
||||
}), 500);
|
||||
|
||||
// Tab to get to splitter for right panel
|
||||
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
||||
doh.robot.sequence(d.getTestErrback(function(){
|
||||
doh.is("border2-trailing_splitter", dojo.global.dijit.focus.curNode.id, "focus on bottom splitter");
|
||||
}), 500);
|
||||
|
||||
// tab out of BorderContainer, into the next one
|
||||
doh.robot.keyPress(dojo.keys.TAB, 500, {});
|
||||
doh.robot.sequence(d.getTestCallback(function(){
|
||||
doh.is("a link", innerText(dojo.global.dijit.focus.curNode), "tabbed to link in next BC");
|
||||
}), 500);
|
||||
|
||||
return d;
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
name: "expand/contract",
|
||||
timeout: 10000,
|
||||
runTest: function(t){
|
||||
var d = new doh.Deferred();
|
||||
|
||||
var oSize, nSize;
|
||||
|
||||
// contract bottom pane
|
||||
doh.robot.sequence(function(){
|
||||
dojo.byId("border2-bottom_splitter").focus();
|
||||
oSize = dojo.position("border2-bottom");
|
||||
}, 500, 500);
|
||||
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 500, {});
|
||||
doh.robot.sequence(d.getTestErrback(function(){
|
||||
nSize = dojo.position("border2-bottom");
|
||||
doh.t(nSize.h < oSize.h, "contracted bottom pane");
|
||||
}), 500);
|
||||
|
||||
// expand trailing pane
|
||||
doh.robot.sequence(function(){
|
||||
dojo.byId("border2-trailing_splitter").focus();
|
||||
oSize = dojo.position("border2-trailing");
|
||||
}, 500, 500);
|
||||
doh.robot.keyPress(dojo._isBodyLtr() ? dojo.keys.LEFT_ARROW : dojo.keys.RIGHT_ARROW, 500, {});
|
||||
doh.robot.sequence(d.getTestCallback(function(){
|
||||
nSize = dojo.position("border2-trailing");
|
||||
doh.t(nSize.w > oSize.w, "expanded trailing pane");
|
||||
}), 500);
|
||||
|
||||
return d;
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
doh.run();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
Reference in New Issue
Block a user