UNPKG

dijit

Version:

Dijit provides a complete collection of user interface controls based on Dojo, giving you the power to create web applications that are highly optimized for usability, performance, internationalization, accessibility, but above all deliver an incredible u

438 lines (353 loc) 13.5 kB
<!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: 6000, setUp: function(){ combo = dijit.byId("fruitLtr"); doh.t(!!combo, "found fruitLtr"); modifier = dojo.isMac ? {meta: true} : {ctrl: true}; }, runTest: function(){ var d = new doh.Deferred(); // Open drop down doh.robot.sequence(d.getTestErrback(function(){ // delay is needed to work around IE bug combo.focusNode.focus(); }), 50); doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100); var handle = dojo.connect(combo, "openDropDown", function(){ handle.remove(); doh.robot.sequence(d.getTestCallback(function(){ doh.t(!!combo.dropDown, "dropdown exists"); 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); } }); }), 50); }); 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"); doh.t(!!combo, "found fruitRtl"); }, runTest: function(){ var d = new doh.Deferred(); // Open drop down combo.focusNode.focus(); doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100); var handle = dojo.connect(combo, "openDropDown", function(){ handle.remove(); doh.robot.sequence(d.getTestCallback(function(){ doh.t(!!combo.dropDown, "dropdown exists"); 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); } }); }), 50); }); 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"); doh.t(!!combo, "found fruitContextual"); modifier = dojo.isMac ? {meta: true} : {ctrl: true}; }, runTest: function(){ var d = new doh.Deferred(); // Create drop down combo.focusNode.focus(); doh.robot.keyPress(dojo.keys.DOWN_ARROW, 100); var handle = dojo.connect(combo, "openDropDown", function(){ handle.remove(); doh.robot.sequence(d.getTestCallback(function(){ doh.t(!!combo.dropDown, "dropdown exists"); dojo.forEach(combo.dropDown.domNode.childNodes, function(node){ // so it will check only the options if(node.item){ var contextualDir = this.getTextDir(node.innerText || node.textContent || ""); doh.is(contextualDir, node.dir, node.innerText || node.textContent || ""); } }, combo); }), 50); }); 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"); doh.t(!!combo, "found 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"); doh.t(!!autoCompleted, "found 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"); doh.t(!!notAutoCompleted, "found 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>