UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

114 lines (103 loc) 4.79 kB
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>Button Bidi Tests</title> <script type="text/javascript" src="../../../deviceTheme.js"></script> <script type="text/javascript" src="../../../../../dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: true, has: {'dojo-bidi': true }"></script> <script language="JavaScript" type="text/javascript"> require([ "dojo/sniff", "dojo/dom-construct", // dojo.place "dojo/ready", // dojo.ready "dijit/registry", // dijit.byId "doh/runner", //doh functions, "dojo/_base/window", "dojox/mobile/bidi/common", "dojox/mobile/Button", "dojox/mobile", // This is a mobile app. "dojox/mobile/View", // This mobile app uses mobile view "dojox/mobile/compat", // This mobile app supports running on desktop browsers "dojox/mobile/parser" // This mobile app uses declarative programming with fast mobile parser ], function(has, domConst, ready, registry, runner, win, common, Button){ function _createButtonProgrammatically(){ var demoWidget = new Button({"class":"redButton", style:"width:180px", label:"Pragramm Button!", id:"btn1", textDir:"rtl"}); win.body().appendChild(demoWidget.domNode); win.body().appendChild(domConst.create("br")); return demoWidget; } ready(function(){ var lre = common.MARK.LRE; var rle = common.MARK.RLE; var button1 = _createButtonProgrammatically(); var button2 = registry.byId("btn2"); var button3 = registry.byId("btn3"); var button4 = registry.byId("btn4"); var button5 = registry.byId("btn5"); var button6 = registry.byId("btn6"); function getFirstChar(btn){ var text = btn.domNode.innerHTML; return text ? text.charAt(0) : ""; }; runner.register("dojox.mobile.test.bidi.doh.ButtonTests", [ function test_LTR_TextDir(){ runner.assertEqual("ltr", button3.get("textDir"), "button textDir should be ltr"); runner.assertEqual(lre, getFirstChar(button3), "first char should be lte"); }, function test_RTL_TextDir(){ runner.assertEqual( "rtl", button1.get("textDir"), "button textDir should be rtl"); runner.assertEqual(rle, getFirstChar(button1), "first char should be rle button1"); runner.assertEqual("rtl", button2.get("textDir"), "button textDir should be rtl"); runner.assertEqual(rle, getFirstChar(button2), "first char should be rle button2"); runner.assertEqual("rtl", button6.get("textDir"), "button textDir should be rtl"); runner.assertEqual(rle, getFirstChar(button6), "first char should be rle button6"); }, function test_auto_TextDir(){ runner.assertEqual("auto", button4.get("textDir"), "button textDir should be auto"); runner.assertEqual(rle, getFirstChar(button4), "first char should be rle button4"); }, function test_change_textDir(){ button1.set("textDir", "ltr"); runner.assertEqual("ltr", button1.get("textDir")); runner.assertEqual(lre, getFirstChar(button1)); button1.set("textDir", "rtl"); button2.set("textDir", "auto"); runner.assertEqual("auto", button2.get("textDir")); runner.assertEqual(rle, getFirstChar(button2)); button2.set("textDir", "rtl"); button3.set("textDir", "rtl"); runner.assertEqual("rtl", button3.get("textDir")); runner.assertEqual(rle, getFirstChar(button3)); button3.set("textDir", "ltr"); }, function test_change_Label(){ button4.set("label", "New label..."); runner.assertEqual("auto", button4.get("textDir")); runner.assertEqual(lre, getFirstChar(button4)); } ]); runner.run(); }); }) </script> </head> <body> <h1 data-dojo-type="dojox.mobile.Heading">Button</h1> <button data-dojo-type="dojox.mobile.Button" id="btn2" class="mblBlueButton" data-dojo-props='textDir:"rtl"'>&#1495;&#1491;&#1513; blue RTL...</button> textDir RTL <hr> <button data-dojo-type="dojox.mobile.Button" id="btn3" data-dojo-props='textDir:"ltr"' class="mblRedButton">&#1495;&#1491;&#1513; red default LTR...</button> textDir LTR <hr> <button data-dojo-type="dojox.mobile.Button" id="btn4" textDir="auto" disabled>&#1495;&#1491;&#1513; AUTO ...</button> textDir AUTO <hr> <button data-dojo-type="dojox.mobile.Button" id="btn5" disabled>&#1495;&#1491;&#1513; ...</button> textDir not set <hr> <button data-dojo-type="dojox.mobile.Button" id="btn6" class="mblRedButton" data-dojo-props='label:"&#1495;&#1491;&#1513; -new !", textDir:"rtl"'></button> textDir RTL </body> </html>