All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.oam.custom.prototype.unittest.js Maven / Gradle / Ivy

Go to download

JSF components and utilities that can be used with any JSF implementation. This library is based on the JSF1.1 version of Tomahawk, but with minor source code and build changes to take advantage of JSF2.1 features. A JSF2.1 implementation is required to use this version of the Tomahawk library.

The newest version!
Event.simulateMouse=function(D,B){var C=Object.extend({pointerX:0,pointerY:0,buttons:0,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},arguments[2]||{});var A=document.createEvent("MouseEvents");A.initMouseEvent(B,true,true,document.defaultView,C.buttons,C.pointerX,C.pointerY,C.pointerX,C.pointerY,C.ctrlKey,C.altKey,C.shiftKey,C.metaKey,0,$(D));if(this.mark){Element.remove(this.mark);}this.mark=document.createElement("div");this.mark.appendChild(document.createTextNode(" "));document.body.appendChild(this.mark);this.mark.style.position="absolute";this.mark.style.top=C.pointerY+"px";this.mark.style.left=C.pointerX+"px";this.mark.style.width="5px";this.mark.style.height="5px;";this.mark.style.borderTop="1px solid red;";this.mark.style.borderLeft="1px solid red;";if(this.step){alert("["+new Date().getTime().toString()+"] "+B+"/"+Test.Unit.inspect(C));}$(D).dispatchEvent(A);};Event.simulateKey=function(D,B){var C=Object.extend({ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,keyCode:0,charCode:0},arguments[2]||{});var A=document.createEvent("KeyEvents");A.initKeyEvent(B,true,true,window,C.ctrlKey,C.altKey,C.shiftKey,C.metaKey,C.keyCode,C.charCode);$(D).dispatchEvent(A);};Event.simulateKeys=function(B,C){for(var A=0;A
'+''+""+''+"
StatusTestMessage
";this.logsummary=$("logsummary");this.loglines=$("loglines");},_toHTML:function(A){return A.escapeHTML().replace(/\n/g,"
");},addLinksToResults:function(){$$("tr.failed .nameCell").each(function(A){A.title="Run only this test";Event.observe(A,"click",function(){window.location.search="?tests="+A.innerHTML;});});$$("tr.passed .nameCell").each(function(A){A.title="Run all tests";Event.observe(A,"click",function(){window.location.search="";});});}};Test.Unit.Runner=Class.create();Test.Unit.Runner.prototype={initialize:function(A){this.options=Object.extend({testLog:"testlog"},arguments[1]||{});this.options.resultsURL=this.parseResultsURLQueryParameter();this.options.tests=this.parseTestsQueryParameter();if(this.options.testLog){this.options.testLog=$(this.options.testLog)||null;}if(this.options.tests){this.tests=[];for(var C=0;C "+this.options.titles[B]:B,A[B],A["setup"],A["teardown"]));}}}}this.currentTest=0;this.logger=new Test.Unit.Logger(this.options.testLog);setTimeout(this.runTests.bind(this),1000);},parseResultsURLQueryParameter:function(){return window.location.search.parseQuery()["resultsURL"];},parseTestsQueryParameter:function(){if(window.location.search.parseQuery()["tests"]){return window.location.search.parseQuery()["tests"].split(",");}},getResult:function(){var B=false;for(var A=0;A0){return"ERROR";}if(this.tests[A].failures>0){B=true;}}if(B){return"FAILURE";}else{return"SUCCESS";}},postResults:function(){if(this.options.resultsURL){new Ajax.Request(this.options.resultsURL,{method:"get",parameters:"result="+this.getResult(),asynchronous:false});}},runTests:function(){var A=this.tests[this.currentTest];if(!A){this.postResults();this.logger.summary(this.summary());return ;}if(!A.isWaiting){this.logger.start(A.name);}A.run();if(A.isWaiting){this.logger.message("Waiting for "+A.timeToWait+"ms");setTimeout(this.runTests.bind(this),A.timeToWait||1000);}else{this.logger.finish(A.status(),A.summary());this.currentTest++;this.runTests();}},summary:function(){var D=0;var B=0;var E=0;var C=[];for(var A=0;A0){return"failed";}if(this.errors>0){return"error";}return"passed";},assert:function(C){var A=arguments[1]||'assert: got "'+Test.Unit.inspect(C)+'"';try{C?this.pass():this.fail(A);}catch(B){this.error(B);}},assertEqual:function(B,D){var A=arguments[2]||"assertEqual";try{(B==D)?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+Test.Unit.inspect(D)+'"');}catch(C){this.error(C);}},assertInspect:function(B,D){var A=arguments[2]||"assertInspect";try{(B==D.inspect())?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+Test.Unit.inspect(D)+'"');}catch(C){this.error(C);}},assertEnumEqual:function(B,D){var A=arguments[2]||"assertEnumEqual";try{$A(B).length==$A(D).length&&B.zip(D).all(function(E){return E[0]==E[1];})?this.pass():this.fail(A+": expected "+Test.Unit.inspect(B)+", actual "+Test.Unit.inspect(D));}catch(C){this.error(C);}},assertNotEqual:function(B,D){var A=arguments[2]||"assertNotEqual";try{(B!=D)?this.pass():this.fail(A+': got "'+Test.Unit.inspect(D)+'"');}catch(C){this.error(C);}},assertIdentical:function(B,D){var A=arguments[2]||"assertIdentical";try{(B===D)?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+Test.Unit.inspect(D)+'"');}catch(C){this.error(C);}},assertNotIdentical:function(B,D){var A=arguments[2]||"assertNotIdentical";try{!(B===D)?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+Test.Unit.inspect(D)+'"');}catch(C){this.error(C);}},assertNull:function(C){var A=arguments[1]||"assertNull";try{(C==null)?this.pass():this.fail(A+': got "'+Test.Unit.inspect(C)+'"');}catch(B){this.error(B);}},assertMatch:function(C,E){var B=arguments[2]||"assertMatch";var A=new RegExp(C);try{(A.exec(E))?this.pass():this.fail(B+' : regex: "'+Test.Unit.inspect(C)+" did not match: "+Test.Unit.inspect(E)+'"');}catch(D){this.error(D);}},assertHidden:function(A){var B=arguments[1]||"assertHidden";this.assertEqual("none",A.style.display,B);},assertNotNull:function(A){var B=arguments[1]||"assertNotNull";this.assert(A!=null,B);},assertType:function(B,D){var A=arguments[2]||"assertType";try{(D.constructor==B)?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+(D.constructor)+'"');}catch(C){this.error(C);}},assertNotOfType:function(B,D){var A=arguments[2]||"assertNotOfType";try{(D.constructor!=B)?this.pass():this.fail(A+': expected "'+Test.Unit.inspect(B)+'", actual "'+(D.constructor)+'"');}catch(C){this.error(C);}},assertInstanceOf:function(B,D){var A=arguments[2]||"assertInstanceOf";try{(D instanceof B)?this.pass():this.fail(A+": object was not an instance of the expected type");}catch(C){this.error(C);}},assertNotInstanceOf:function(B,D){var A=arguments[2]||"assertNotInstanceOf";try{!(D instanceof B)?this.pass():this.fail(A+": object was an instance of the not expected type");}catch(C){this.error(C);}},assertRespondsTo:function(D,C){var A=arguments[2]||"assertRespondsTo";try{(C[D]&&typeof C[D]=="function")?this.pass():this.fail(A+": object doesn't respond to ["+D+"]");}catch(B){this.error(B);}},assertReturnsTrue:function(E,D){var B=arguments[2]||"assertReturnsTrue";try{var A=D[E];if(!A){A=D["is"+E.charAt(0).toUpperCase()+E.slice(1)];}A()?this.pass():this.fail(B+": method returned false");}catch(C){this.error(C);}},assertReturnsFalse:function(E,D){var B=arguments[2]||"assertReturnsFalse";try{var A=D[E];if(!A){A=D["is"+E.charAt(0).toUpperCase()+E.slice(1)];}!A()?this.pass():this.fail(B+": method returned true");}catch(C){this.error(C);}},assertRaise:function(A,D){var B=arguments[2]||"assertRaise";try{D();this.fail(B+": exception expected but none was raised");}catch(C){((A==null)||(C.name==A))?this.pass():this.error(C);}},assertElementsMatch:function(){var A=$A(arguments),B=$A(A.shift());if(B.length!=A.length){this.fail("assertElementsMatch: size mismatch: "+B.length+" elements, "+A.length+" expressions");return false;}B.zip(A).all(function(F,C){var D=$(F.first()),E=F.last();if(D.match(E)){return true;}this.fail("assertElementsMatch: (in index "+C+") expected "+E.inspect()+" but got "+D.inspect());}.bind(this))&&this.pass();},assertElementMatches:function(A,B){this.assertElementsMatch([A],B);},benchmark:function(C,D){var B=new Date();(D||1).times(C);var A=((new Date())-B);this.info((arguments[2]||"Operation")+" finished "+D+" iterations in "+(A/1000)+"s");return A;},_isVisible:function(A){A=$(A);if(!A.parentNode){return true;}this.assertNotNull(A);if(A.style&&Element.getStyle(A,"display")=="none"){return false;}return this._isVisible(A.parentNode);},assertNotVisible:function(A){this.assert(!this._isVisible(A),Test.Unit.inspect(A)+" was not hidden and didn't have a hidden parent either. "+(""||arguments[1]));},assertVisible:function(A){this.assert(this._isVisible(A),Test.Unit.inspect(A)+" was not visible. "+(""||arguments[1]));},benchmark:function(C,D){var B=new Date();(D||1).times(C);var A=((new Date())-B);this.info((arguments[2]||"Operation")+" finished "+D+" iterations in "+(A/1000)+"s");return A;}};Test.Unit.Testcase=Class.create();Object.extend(Object.extend(Test.Unit.Testcase.prototype,Test.Unit.Assertions.prototype),{initialize:function(name,test,setup,teardown){Test.Unit.Assertions.prototype.initialize.bind(this)();this.name=name;if(typeof test=="string"){test=test.gsub(/(\.should[^\(]+\()/,"#{0}this,");test=test.gsub(/(\.should[^\(]+)\(this,\)/,"#{1}(this)");this.test=function(){eval("with(this){"+test+"}");};}else{this.test=test||function(){};}this.setup=setup||function(){};this.teardown=teardown||function(){};this.isWaiting=false;this.timeToWait=1000;},wait:function(B,A){this.isWaiting=true;this.test=A;this.timeToWait=B;},run:function(){try{try{if(!this.isWaiting){this.setup.bind(this)();}this.isWaiting=false;this.test.bind(this)();}finally{if(!this.isWaiting){this.teardown.bind(this)();}}}catch(A){this.error(A);}}});Test.setupBDDExtensionMethods=function(){var B={shouldEqual:"assertEqual",shouldNotEqual:"assertNotEqual",shouldEqualEnum:"assertEnumEqual",shouldBeA:"assertType",shouldNotBeA:"assertNotOfType",shouldBeAn:"assertType",shouldNotBeAn:"assertNotOfType",shouldBeNull:"assertNull",shouldNotBeNull:"assertNotNull",shouldBe:"assertReturnsTrue",shouldNotBe:"assertReturnsFalse",shouldRespondTo:"assertRespondsTo"};var A=function(C,E,D){this[C].apply(this,(E||[]).concat([D]));};Test.BDDMethods={};$H(B).each(function(C){Test.BDDMethods[C.key]=function(){var D=$A(arguments);var E=D.shift();A.apply(E,[C.value,D,this]);};});[Array.prototype,String.prototype,Number.prototype,Boolean.prototype].each(function(C){Object.extend(C,Test.BDDMethods);});};Test.context=function(D,C,F){Test.setupBDDExtensionMethods();var E={};var G={};for(specName in C){switch(specName){case"setup":case"teardown":E[specName]=C[specName];break;default:var B="test"+specName.gsub(/\s+/,"-").camelize();var A=C[specName].toString().split("\n").slice(1);if(/^\{/.test(A[0])){A=A.slice(1);}A.pop();A=A.map(function(H){return H.strip();});E[B]=A.join("\n");G[B]=specName;}}new Test.Unit.Runner(E,{titles:G,testLog:F||"testlog",context:D});};




© 2015 - 2024 Weber Informatics LLC | Privacy Policy