function assertTrue(A,B){if(A===false){throw (B)}return }function assertFalse(A,B){if(A===true){throw (B)}return }function getFunctionName(B){var A=funct.toString();A=A.substr("function ".length);A=A.substr(0,A.indexOf("("));return A}var Test={runSuite:function(){var D=0;
var I="";var L="";var B="";var K=true;var C=true;var J=true;for(var A in this.Suites){if(this.Suites.hasOwnProperty(A)){I=this.Suites[A];if(I.enabled){$("results").set("html",$("results").get("html")+"<div id='testsuite_"+(D+1)+"' class='testsuite'><div class='testsuite_name'>"+A+"</div><div style='clear:both;padding-top:5px;' id='testsuite_detail_all_"+(D+1)+"'></div></div><br />");
D++;(!K)?L+=",":(K=false);L+=A;for(var H in I.tests){if(I.tests.hasOwnProperty(H)){var G=I.tests[H];(!C)?B+=" ":(C=false);B+="JSTB_"+H+"=";try{G();G.passed=true;G.message="";B+="passed"}catch(E){G.passed=false;G.message=E;J=false;B+="failed, FailureReason="+E
}var F="<div class='testdetail'><div>"+H+"</div><div class='testresult "+(G.passed?"passed":"failed")+"'>"+(G.passed?"Passed":"Failed")+"</div><div class='clear'></div>";F+="<div  style='display:none' class='result "+(G.passed?"":"error")+"'>";F+='<span class="failed">'+G.message+"</span></div></div>";
$("testsuite_detail_all_"+D).set("html",$("testsuite_detail_all_"+D).get("html")+F)}}}}}this.resultString="JSTB_AllSuitesPassed="+J+" JSTB_SuitesRun="+L+"\nJSTB_TestsResults: "+B;$("test_summary_title").setStyle("display","block")},Suites:{Mootools:{enabled:false,tests:{testMootoolsJson:function(){assertTrue(JSON.decode('\\b\\t\\n\\f\\r\\"\\\\')==='\b\t\n\f\r\\"',"String decoding failed")
}}},Webservices:{enabled:true,tests:{testWebServiceCall:function(){var A=new Hash();A.set("x",2);A.set("y",2);callWebService("/site/WebServices/Public/CommonAjax.asmx","TestAdd",function B(C){assertTrue(C.result==4,"WebService test failed.")},A)}}},TestBench:{enabled:false,tests:{testAssertTrue:function(){assertTrue(2===2,"This should never fail")
},testAssertFalse:function(){assertFalse(2===3,"This should always fail")}}}}}