415 lines
13 KiB
HTML
415 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>doh.robot ComboBox textDir Tests</title>
|
|
|
|
<style>
|
|
@import "../../../../../util/doh/robot/robot.css";
|
|
</style>
|
|
|
|
<!-- required: dojo.js -->
|
|
<script type="text/javascript" src="../../../../../dojo/dojo.js">
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
dojo.require("dijit.robotx");
|
|
|
|
dojo.ready(function(){
|
|
var combo;
|
|
|
|
doh.robot.initRobot('../test_SimpleComboBoxes.html');
|
|
|
|
doh.register("Test LTR combo box", [
|
|
{
|
|
name:"check drop down items text direction.",
|
|
timeout:3000,
|
|
|
|
setUp: function(){
|
|
combo = dijit.byId("fruitLtr");
|
|
modifier = dojo.isMac ? {meta: true} : {ctrl: true};
|
|
},
|
|
|
|
runTest:function(){
|
|
var d = new doh.Deferred();
|
|
// Open drop down
|
|
combo.focusNode.focus();
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100);
|
|
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
dojo.forEach(combo.dropDown.domNode.childNodes, function(node){
|
|
// so it will check only the options
|
|
if(node.item){
|
|
doh.is("ltr", node.dir, node.textContent);
|
|
}
|
|
});
|
|
}), 900);
|
|
|
|
return d;
|
|
},
|
|
|
|
tearDown: function(){
|
|
combo.closeDropDown();
|
|
}
|
|
},
|
|
{
|
|
name: "paste English in 'fruitLtr'",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.keyPress("a", 300, modifier);
|
|
doh.robot.keyPress(dojo.keys.DELETE, 300, {});
|
|
doh.robot.typeKeys("Hi!!!", 1, 300);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("ltr",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 300);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
{
|
|
name: "paste Hebrew in 'fruitLtr'",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.setClipboard("\u05e9\u05dc\u05d5\u05dd\u0021",'text/html');
|
|
doh.robot.keyPress("a", 300, modifier);
|
|
doh.robot.keyPress(dojo.keys.DELETE, 300, {});
|
|
doh.robot.keyPress("v", 300, modifier);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("ltr",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 300);
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.register("Test RTL combo box", [
|
|
{
|
|
name:"check drop down items text direction.",
|
|
timeout:3000,
|
|
|
|
setUp: function(){
|
|
combo = dijit.byId("fruitRtl");
|
|
},
|
|
|
|
runTest:function(){
|
|
var d = new doh.Deferred();
|
|
// Open drop down
|
|
combo.focusNode.focus();
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100);
|
|
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
dojo.forEach(combo.dropDown.domNode.childNodes, function(node){
|
|
// so it will check only the options
|
|
if(node.item){
|
|
doh.is("rtl", node.dir, node.textContent);
|
|
}
|
|
});
|
|
}), 900);
|
|
|
|
return d;
|
|
},
|
|
|
|
tearDown: function(){
|
|
combo.closeDropDown();
|
|
}
|
|
},
|
|
{
|
|
name: "paste English in 'fruitRtl'",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.keyPress("a", 300, modifier);
|
|
doh.robot.keyPress(dojo.keys.DELETE, 300, {});
|
|
doh.robot.typeKeys("Hi!!!", 1, 300);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 300);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
{
|
|
name: "paste Hebrew in 'fruitRtl'",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.setClipboard("\u05e9\u05dc\u05d5\u05dd\u0021",'text/html');
|
|
doh.robot.keyPress("a", 300, modifier);
|
|
doh.robot.keyPress(dojo.keys.DELETE, 300, {});
|
|
doh.robot.keyPress("v", 300, modifier);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 300);
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.register("Test AUTO ComboBox", [
|
|
{
|
|
name:"check drop down items text direction.",
|
|
timeout:60000,
|
|
|
|
setUp:function(){
|
|
combo = dijit.byId("fruitContextual");
|
|
modifier = dojo.isMac ? {meta: true} : {ctrl: true};
|
|
},
|
|
|
|
runTest:function(){
|
|
var d = new doh.Deferred();
|
|
var contextualDir;
|
|
// Create drop down
|
|
combo.focusNode.focus();
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
dojo.forEach(combo.dropDown.domNode.childNodes, function(node){
|
|
// so it will check only the options
|
|
if(node.item){
|
|
contextualDir = this.getTextDir(node.innerText || node.textContent || "");
|
|
doh.is(contextualDir, node.dir, node.innerText || node.textContent || "");
|
|
}
|
|
},combo);
|
|
}), 900);
|
|
|
|
return d;
|
|
},
|
|
|
|
tearDown: function(){
|
|
combo.closeDropDown();
|
|
}
|
|
},
|
|
{
|
|
name:"input field text direction for each item in the menu.",
|
|
timeout:6000,
|
|
|
|
setUp:function(){
|
|
combo = dijit.byId("fruitContextual");
|
|
modifier = dojo.isMac ? {meta: true} : {ctrl: true};
|
|
},
|
|
|
|
runTest:function(){
|
|
var d = new doh.Deferred();
|
|
|
|
combo.focusNode.focus();
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 300);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("rtl",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl",combo.focusNode.dir, combo.id);
|
|
}), 200);
|
|
|
|
return d;
|
|
},
|
|
|
|
tearDown: function(){
|
|
combo.closeDropDown();
|
|
}
|
|
},
|
|
{
|
|
name: "text direction cut/paste English",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.setClipboard("I am pasted!!!",'text/html');
|
|
|
|
doh.robot.keyPress("a", 500, modifier);
|
|
doh.robot.keyPress(dojo.keys.DELETE, 500, {});
|
|
|
|
doh.robot.keyPress("v", 500, modifier);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("ltr",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 300);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
{
|
|
name: "text direction cut/paste Hebrew before English",
|
|
timeout: 3000,
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
|
|
doh.robot.setClipboard("\u05d0\u05e0\u05d9\u003a\u0020",'text/html');
|
|
|
|
dojo.isMac ? doh.robot.keyPress("a", 100, {ctrl:true}): doh.robot.keyPress(dojo.keys.HOME, 100, {});
|
|
|
|
doh.robot.keyPress("v", 400, modifier);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl",combo.focusNode.dir,"direction of :" + combo.id);
|
|
}), 700);
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.register("Test AUTO ComboBox", [
|
|
{
|
|
name: "test auto-completion popup and input field for 'auto'",
|
|
timeout: 30000,
|
|
|
|
setUp: function(){
|
|
autoCompleted = dijit.byId("fruitContextualAC");
|
|
},
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
autoCompleted.focusNode.focus();
|
|
|
|
// Filter drop down list to entries starting with ":"
|
|
doh.robot.sequence(function(){ autoCompleted.set("value", null); }, 400);
|
|
doh.robot.keyPress(":", 100);
|
|
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr", autoCompleted.focusNode.dir, "input field of fruitContextualAC");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextualAC_popup"));
|
|
doh.is("ltr", entries[1].dir, "list #1");
|
|
doh.is("rtl", entries[2].dir, "list #2");
|
|
}), 900);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("rtl",autoCompleted.focusNode.dir, "input field of fruitContextualAC");
|
|
}), 200);
|
|
|
|
doh.robot.sequence(function(){ autoCompleted.set("value", null); }, 400);
|
|
doh.robot.keyPress("@", 100);
|
|
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr", autoCompleted.focusNode.dir, "input field of fruitContextualAC");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextualAC_popup"));
|
|
doh.is("ltr", entries[1].dir, "list #1");
|
|
}), 900);
|
|
|
|
doh.robot.sequence(function(){ autoCompleted.set("value", null); }, 400);
|
|
doh.robot.keyPress("*", 100);
|
|
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl", autoCompleted.focusNode.dir, "input field of fruitContextualAC");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextualAC_popup"));
|
|
doh.is("rtl", entries[1].dir, "list #1");
|
|
}), 900);
|
|
|
|
return d;
|
|
}
|
|
},
|
|
{
|
|
name: "test auto-completion popup and input field for autoComplete:false",
|
|
timeout: 12000,
|
|
|
|
setUp: function(){
|
|
notAutoCompleted = dijit.byId("fruitContextual");
|
|
},
|
|
|
|
runTest: function(){
|
|
var d = new doh.Deferred();
|
|
notAutoCompleted.focusNode.focus();
|
|
|
|
// Filter drop down list to entries starting with ":"
|
|
doh.robot.sequence(function(){ notAutoCompleted.set("value", null); }, 400);
|
|
doh.robot.keyPress(":", 300);
|
|
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is(notAutoCompleted.isLeftToRight() ? "ltr" : "rtl",
|
|
notAutoCompleted.focusNode.dir, "false autoComplete - :");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextual_popup"));
|
|
doh.is("ltr", entries[1].dir, "list #1 - :");
|
|
doh.is("rtl", entries[2].dir, "list #2 - :");
|
|
}), 900);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",notAutoCompleted.focusNode.dir, "input field of fruitContextual - :");
|
|
}), 200);
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("rtl",notAutoCompleted.focusNode.dir, "input field of fruitContextual - :");
|
|
}), 200);
|
|
|
|
// Filter drop down list to entries starting with "@"
|
|
doh.robot.sequence(function(){
|
|
notAutoCompleted.set("value", null);
|
|
}, 400);
|
|
doh.robot.keyPress("@", 100);
|
|
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is(notAutoCompleted.isLeftToRight() ? "ltr" : "rtl",
|
|
notAutoCompleted.focusNode.dir, "false autoComplete - @");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextual_popup"));
|
|
doh.is("ltr", entries[1].dir, "list #1 - @");
|
|
}), 900);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is("ltr",notAutoCompleted.focusNode.dir, "input field of fruitContextual - :");
|
|
}), 200);
|
|
|
|
|
|
// Filter drop down list to entries starting with "*"
|
|
doh.robot.sequence(function(){ notAutoCompleted.set("value", null); }, 400);
|
|
doh.robot.keyPress("*", 100);
|
|
|
|
doh.robot.sequence(d.getTestErrback(function(){
|
|
doh.is(notAutoCompleted.isLeftToRight() ? "ltr" : "rtl",
|
|
notAutoCompleted.focusNode.dir, "false autoComplete - *");
|
|
var entries = dojo.query("div", dojo.byId("fruitContextual_popup"));
|
|
doh.is("rtl", entries[1].dir, "list #1 - *");
|
|
}), 900);
|
|
|
|
doh.robot.keyPress(dojo.keys.DOWN_ARROW, 200);
|
|
doh.robot.sequence(d.getTestCallback(function(){
|
|
doh.is("rtl",notAutoCompleted.focusNode.dir, "input field of fruitContextual - :");
|
|
}), 200);
|
|
|
|
|
|
return d;
|
|
}
|
|
}
|
|
]);
|
|
|
|
doh.run();
|
|
});
|
|
</script>
|
|
</head>
|
|
</html>
|