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.
167 lines (154 loc) • 7.09 kB
JavaScript
dojo.require("dojo.aspect");
dojo.addOnLoad(function(){
doh.register("dojox.mobile.test.doh.ListItem", [
{
name: "ListItem Verification",
timeout: 4000,
runTest: function(){
var d = new doh.Deferred();
setTimeout(d.getTestCallback(function(){
verifyListItem("dojox_mobile_ListItem_0", 'External View #1 (sync)', '', "mblDomButtonArrow", true, true, false, false, /i-icon-1.png/i);
verifyListItem("dojox_mobile_ListItem_1", 'External View #2 (async)', '', "mblDomButtonArrow", true, true, false);
verifyListItem("dojox_mobile_ListItem_2", 'External View #3 (sync)', '', "mblDomButtonArrow", true, true, false);
verifyListItem("dojox_mobile_ListItem_3", 'Video', 'Off', "", false, false, false);
verifyListItem("dojox_mobile_ListItem_4", 'Maps', 'VPN', "", true, false, false);
verifyListItem("dojox_mobile_ListItem_5", 'Jack Coleman', '', "", false, false, false);
verifyListItem("dojox_mobile_ListItem_6", 'Sounds', '', "mblDomButtonArrow", true, true, false);
verifyListItem("dojox_mobile_ListItem_7", 'Brightness', '', "mblDomButtonArrow", true, true, false);
verifyListItem("dojox_mobile_ListItem_8", 'Wallpaper', '', "mblDomButtonArrow", true, true, false);
verifyListItem("dojox_mobile_ListItem_9", 'XX Widget', '', "mblDomButtonBluePlus", true, true, false);
verifyListItem("dojox_mobile_ListItem_10", 'YY Widget', '', "mblDomButtonRedMinus", true, true, false);
var txt = 'See location in applications (such as Maps) using wireless networks';
verifyListItem("dojox_mobile_ListItem_11", txt, '', "mblDomButtonCheckboxOff", false, true, false, true);
txt = 'When locating, accurate to street level (uncheck to conserve battery)';
verifyListItem("dojox_mobile_ListItem_12", txt, '', "mblDomButtonCheckboxOn", false, true, false, true);
verifyListItem("dojox_mobile_ListItem_13", 'Set unlock pattern', '', "", false, false, false);
}));
return d;
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_0");
demoWidget.set({transition :"flip", url:"../../view2.html", noArrow:true, selected:true, anchorLabel:true, rightText:"Value Changed"});
doh.assertEqual("flip", demoWidget.get("transition"));
doh.assertEqual("../../view2.html", demoWidget.get("url"));
doh.assertTrue(demoWidget.get("noArrow"), 'get("noArrow")');
doh.assertTrue(demoWidget.get("selected"), 'get("selected")');
doh.assertTrue(demoWidget.get("anchorLabel"), 'get("anchorLabel")');
doh.assertEqual("Value Changed", demoWidget.get("rightText"));
verifyListItem("dojox_mobile_ListItem_0", 'External View #1 (sync)', 'Value Changed', "mblDomButtonArrow", true, true, false, false, null, true);
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_1");
demoWidget.set({icon :"../../images/i-icon-4.png", label:"Value Changed", clickable:true, url:"../../view3.html", transition :"slide", transitionDir:-1, sync:false, toggle:true, _duration:1600});
doh.assertEqual("slide", demoWidget.get("transition"));
doh.assertEqual("../../view3.html", demoWidget.get("url"));
doh.assertEqual(-1, demoWidget.get("transitionDir"));
doh.assertTrue(demoWidget.get("clickable"), 'get("clickable")');
doh.assertFalse(demoWidget.get("sync"), 'get("sync")');
doh.assertTrue(demoWidget.get("toggle"), 'get("toggle")');
doh.assertEqual(1600, demoWidget.get("_duration"));
doh.assertEqual("Value Changed", demoWidget.get("label"));
verifyListItem("dojox_mobile_ListItem_1", 'Value Changed', '', "mblDomButtonArrow", true, true, false, false, /i-icon-4.png/i);
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_6");
demoWidget.set({iconPos :"0,116,29,29", moveTo:"bar", transition :"fade"});
doh.assertEqual("bar", demoWidget.get("moveTo"));
doh.assertEqual("0,116,29,29", demoWidget.get("iconPos"));
doh.assertEqual("fade", demoWidget.get("transition"));
verifyListItem("dojox_mobile_ListItem_6", 'Sounds', '', "mblDomButtonArrow", true, true, false, false, /i-icon-all.png/i, false, true);
}
},
{
//Todo
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_6");
demoWidget.set({href :"", hrefTarget:""});
doh.assertEqual("", demoWidget.get("href"));
doh.assertEqual("", demoWidget.get("hrefTarget"));
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_9");
demoWidget.set({rightIcon:"mblDomButtonRedMinus"});
verifyListItem("dojox_mobile_ListItem_9", 'XX Widget', '', "mblDomButtonRedMinus", true, true, false);
// doh.assertEqual("mblDomButtonRedMinus", demoWidget.get("icon"));
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_11");
demoWidget.set({rightIcon:"mblDomButtonCheckboxOn"});
var txt = 'See location in applications (such as Maps) using wireless networks';
verifyListItem("dojox_mobile_ListItem_11", txt, '', "mblDomButtonCheckboxOn", false, true, false, true);
// doh.assertEqual("mblDomButtonCheckboxOn", demoWidget.get("icon"));
}
},
{
name: "ListItem set",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_11");
// Test case for #16314
var noError = true;
try{
demoWidget.set("busy", false);
}catch(err){
noError = false;
}
doh.assertTrue(noError, "Setting busy to false before ever being set to true shouldn't throw an exception!");
}
},
{
name: "ListItem w/o layoutOnResize (default)",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_14");
demoWidget.set("rightIcon", "mblDomButtonCheckboxOn");
var fctCalled = false;
var aspectHandle = dojo.aspect.after(demoWidget, "layoutVariableHeight", function(){
fctCalled = true;
}, true);
demoWidget.resize();
doh.assertFalse(fctCalled, "layoutVariableHeight should not be called on resize().");
aspectHandle.remove();
}
},
{
name: "ListItem w/ layoutOnResize",
timeout: 1000,
runTest: function(){
var demoWidget = dijit.byId("dojox_mobile_ListItem_15");
demoWidget.set("layoutOnResize", true);
demoWidget.set("rightIcon", "mblDomButtonCheckboxOn");
var fctCalled = false;
var aspectHandle = dojo.aspect.after(demoWidget, "layoutVariableHeight", function(){
fctCalled = true;
}, true);
demoWidget.resize();
doh.assertTrue(fctCalled, "layoutVariableHeight should be called on resize().");
aspectHandle.remove();
}
}
]);
doh.run();
});