//>>built define("dojox/testing/DocTest",["dojo/string"],function(){ dojo.declare("dojox.testing.DocTest",null,{errors:[],getTests:function(_1){ var _2=dojo.moduleUrl(_1).path; var _3=_2.substring(0,_2.length-1)+".js"; var _4=dojo.xhrGet({url:_3,handleAs:"text"}); var _5=dojo._getText(_3); return this._getTestsFromString(_5,true); },getTestsFromString:function(_6){ return this._getTestsFromString(_6,false); },_getTestsFromString:function(_7,_8){ var _9=dojo.hitch(dojo.string,"trim"); var _a=_7.split("\n"); var _b=_a.length; var _c=[]; var _d={commands:[],expectedResult:[],line:null}; for(var i=0;i<_b+1;i++){ var l=_9(_a[i]||""); if((_8&&l.match(/^\/\/\s+>>>\s.*/))||l.match(/^\s*>>>\s.*/)){ if(!_d.line){ _d.line=i+1; } if(_d.expectedResult.length>0){ _c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line}); _d={commands:[],expectedResult:[],line:i+1}; } l=_8?_9(l).substring(2,l.length):l; l=_9(l).substring(3,l.length); _d.commands.push(_9(l)); }else{ if((!_8||l.match(/^\/\/\s+.*/))&&_d.commands.length&&_d.expectedResult.length==0){ l=_8?_9(l).substring(3,l.length):l; _d.expectedResult.push(_9(l)); }else{ if(_d.commands.length>0&&_d.expectedResult.length){ if(!_8||l.match(/^\/\/\s*$/)){ _c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line}); } if(_8&&!l.match(/^\/\//)){ _c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line}); } _d={commands:[],expectedResult:[],line:0}; } } } } return _c; },run:function(_e){ this.errors=[]; var _f=this.getTests(_e); if(_f){ this._run(_f); } },_run:function(_10){ var len=_10.length; this.tests=len; var oks=0; for(var i=0;i50?_11.substr(0,50)+"...":_11); if(res.success){ oks+=1; }else{ this.errors.push({commands:t.commands,actual:res.actualResult,expected:t.expectedResult}); console.error(msg+"Failed: "+_11,{commands:t.commands,actualResult:res.actualResult,expectedResult:t.expectedResult}); } } },runTest:function(_12,_13){ var ret={success:false,actualResult:null}; var _14=_12.join("\n"); ret.actualResult=eval(_14); if((String(ret.actualResult)==_13)||(dojo.toJson(ret.actualResult)==_13)||((_13.charAt(0)=="\"")&&(_13.charAt(_13.length-1)=="\"")&&(String(ret.actualResult)==_13.substring(1,_13.length-1)))){ ret.success=true; } return ret; }}); return dojox.testing.DocTest; });