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.

175 lines (160 loc) 6.44 kB
//dojo.require("dojo.has"); require([ "dijit/_base/manager", // dijit.byId "doh/runner" //doh functions ]); function fireOnMouseDown(obj){ var anchorNode; if(typeof obj === "string"){ var demoWidget = dijit.byId(obj); anchorNode = demoWidget.domNode; }else{ anchorNode = obj; } if(dojo.isIE<9){ anchorNode.fireEvent( "onmousedown" ); }else{ var eventName = "mousedown"; if (dojo.isIE >= 10){ eventName = "MSPointerDown"; } var e = document.createEvent('Events'); e.initEvent(eventName, true, true); anchorNode.dispatchEvent(e); } } function fireOnMouseUp(obj){ var anchorNode; if(typeof obj === "string"){ var demoWidget = dijit.byId(obj); anchorNode = demoWidget.domNode; }else{ anchorNode = obj; } if(dojo.isIE<9){ anchorNode.fireEvent( "onmouseup" ); }else{ var eventName = "mouseup"; if (dojo.isIE >= 10){ eventName = "MSPointerUp"; } var e = document.createEvent('Events'); e.initEvent(eventName, true, true); anchorNode.dispatchEvent(e); } } function verifyListItem(id, text, rightText, domButtonType, hasIcon, hasRightIcon, hasIcon2, hasVariableHeight, regExp, hasSelected, isSprite){ var demoWidget = dijit.byId(id); doh.assertNotEqual(null, demoWidget, "ListItem: Did not instantiate. id=" + id); doh.assertEqual('mblListItem mblListItemRtl' + (hasVariableHeight ?" mblVariableHeight":"") + (hasSelected ?" mblListItemSelected":""), demoWidget.domNode.className, "id=" + id); var childNodes = demoWidget.domNode.children; var i=0; if(hasIcon){ if(!dojo.isIE && regExp){ if(isSprite){ doh.assertTrue(childNodes[i].childNodes[0].src.search(regExp) != -1, "search " + regExp.toString()); }else{ doh.assertTrue(childNodes[i].src.search(regExp) != -1, "search " + regExp.toString()); } } doh.assertTrue(dojo.hasClass(childNodes[i], 'mblListItemIcon'), 'mblListItemIcon id=' + id + " got: " + childNodes[i].className); i++; } if(hasRightIcon){ if(domButtonType){ doh.assertEqual(domButtonType + ' mblDomButton', childNodes[i].childNodes[0].className, "id=" + id); } doh.assertTrue(dojo.hasClass(childNodes[i], 'mblListItemRightIcon'), 'mblListItemRightIcon id=' + id + " got: " + childNodes[i].className); i++; } if(hasIcon2){ doh.assertTrue(dojo.hasClass(childNodes[i], 'mblListItemRightIcon2'), 'mblListItemRightIcon2 id=' + id + " got: " + childNodes[i].className); i++; } if(rightText){ doh.assertEqual(rightText, dojo.isFF ==3.6 ? childNodes[i].childNodes[0].innerHTML : childNodes[i].innerHTML, "id=" + id); //2 0r 3 doh.assertEqual('mblListItemRightText', childNodes[i++].className, "id=" + id); } if(!hasVariableHeight){ doh.assertEqual('mblListItemLabel', childNodes[i].className, "id=" + id); doh.assertEqual('DIV', childNodes[i].tagName, "id=" + id); }else{ doh.assertEqual('mblListItemLabel', childNodes[i+1].className, "id=" + id); doh.assertEqual('DIV', childNodes[i+1].tagName, "id=" + id); } try{ doh.assertEqual(text, dojo.trim(childNodes[i].innerHTML.replace(/\r\n|\n|\t/g,"")), "id=" + id); } catch (e) { if(dojo.isFF ==3.6){ doh.assertEqual(text, dojo.trim(childNodes[i].childNodes[0].innerHTML.replace(/\r\n|\n|\t/g,"")), "id=" + id); }else{ throw e; } } } function verifyListItemPos(id, rTop, rRight, rBottom, rLeft, sTop, sLeft, isSprite) { var demoWidget = dijit.byId(id); var node; if(isSprite){ node = demoWidget.domNode.childNodes[0].childNodes[0]; }else{ node = demoWidget.domNode.childNodes[0].childNodes[0].childNodes[0]; } verifyRect(node, rTop, rRight, rBottom, rLeft); doh.assertEqual(sTop, node.style.top); doh.assertEqual(sLeft, node.style.left); } function verifyRect(node, rTop, rRight, rBottom, rLeft) { var rectArray = node.style.clip.split(/[, ]+/); doh.assertEqual("rect("+rTop, rectArray[0]); doh.assertEqual(rRight, rectArray[1]); doh.assertEqual(rBottom, rectArray[2]); doh.assertEqual(rLeft+")", rectArray[3]); } function verifyIconItem(id, text, display, regExp, isSprite){ var demoWidget = dijit.byId(id); if(!dojo.isIE && !dojo.isFF) { if(isSprite){ doh.assertTrue(demoWidget.domNode.childNodes[0].childNodes[0].childNodes[0].childNodes[0].src.search(regExp) != -1, "search " + regExp.toString() + " id=" +id); }else{ doh.assertTrue(demoWidget.domNode.childNodes[0].childNodes[0].childNodes[0].src.search(regExp) != -1, "search " + regExp.toString() + " id=" +id); } } doh.assertEqual(text, demoWidget.domNode.childNodes[0].childNodes[1].childNodes[0].nodeValue, "id=" +id); doh.assertEqual(display, demoWidget.paneWidget.domNode.style.display, "id=" +id); doh.assertEqual('mblIconItemPaneHeading', demoWidget.paneWidget.domNode.childNodes[0].className, "id=" +id); doh.assertEqual('mblDomButtonBlueMinus mblDomButton', demoWidget.paneWidget.domNode.childNodes[0].childNodes[0].childNodes[0].className, "id=" +id); doh.assertEqual(text, demoWidget.paneWidget.domNode.childNodes[0].childNodes[1].childNodes[0].nodeValue, "id=" +id); } function verifyTabBarButton(id, text, classNames, visibility1, visibility2, regExp1, regExp2, isSprite){ var demoWidget = dijit.byId(id); for(var i = 0; i < classNames.length;i++){ doh.assertTrue(dojo.hasClass(demoWidget.domNode, classNames[i]), classNames[i] + " id=" +id + " className:"+demoWidget.domNode.className); } doh.assertEqual('mblTabBarButtonIconAreaRtl', demoWidget.domNode.childNodes[0].className, "id=" +id); doh.assertEqual('mblTabBarButtonLabel', demoWidget.domNode.childNodes[1].className, "id=" +id); if(demoWidget.iconNode1){ if(!dojo.isIE) { if(isSprite){ doh.assertTrue(demoWidget.iconNode1.childNodes[0].src.search(regExp1) != -1, "search " + regExp1.toString() + " id=" +id); }else{ doh.assertTrue(demoWidget.iconNode1.src.search(regExp1) != -1, "search " + regExp1.toString() + " id=" +id); } } }else{ console.log("There is no iconNode1. id=" + id); } if(demoWidget.iconNode2){ if(!dojo.isIE){ if(isSprite){ doh.assertTrue(demoWidget.iconNode2.childNodes[0].src.search(regExp2) != -1, "search " + regExp2.toString() + " id=" +id); }else{ doh.assertTrue(demoWidget.iconNode2.src.search(regExp2) != -1, "search " + regExp2.toString() + " id=" +id); } } doh.assertEqual(visibility2, demoWidget.iconNode2.style.visibility, "id=" +id); }else{ console.log("There is no iconNode2. id=" + id); } doh.assertEqual(text, dojo.trim(demoWidget.labelNode.innerHTML), "id=" +id); }