亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jsunittestmanager.js

?? 一個用javascript開發(fā)的可以拖拽表單的例子,很精典.
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/* @author Edward Hieatt, edward@jsunit.net */function jsUnitTestManager(){  this._windowForAllProblemMessages = null;  this.container            = top.frames.testContainer  this.documentLoader       = top.frames.documentLoader;  this.mainFrame            = top.frames.mainFrame;  this.containerController = this.container.frames.testContainerController;  this.containerTestFrame  = this.container.frames.testFrame;  var mainData             = this.mainFrame.frames.mainData;  // form elements on mainData frame  this.testFileName        = mainData.document.testRunnerForm.testFileName;  this.runButton           = mainData.document.testRunnerForm.runButton;  this.traceLevel          = mainData.document.testRunnerForm.traceLevel;  this.closeTraceWindowOnNewRun = mainData.document.testRunnerForm.closeTraceWindowOnNewRun;  this.timeout             = mainData.document.testRunnerForm.timeout;  this.setUpPageTimeout      = mainData.document.testRunnerForm.setUpPageTimeout;  // image output  this.progressBar         = this.mainFrame.frames.mainProgress.document.progress;  this.problemsListField           = this.mainFrame.frames.mainErrors.document.testRunnerForm.problemsList;  this.testCaseResultsField        = this.mainFrame.frames.mainResults.document.resultsForm.testCases;    this.resultsTimeField			   = this.mainFrame.frames.mainResults.document.resultsForm.time;    // 'layer' output frames  this.uiFrames                    = new Object();  this.uiFrames.mainStatus         = this.mainFrame.frames.mainStatus;  var mainCounts                   = this.mainFrame.frames.mainCounts;  this.uiFrames.mainCountsErrors   = mainCounts.frames.mainCountsErrors;  this.uiFrames.mainCountsFailures = mainCounts.frames.mainCountsFailures;  this.uiFrames.mainCountsRuns     = mainCounts.frames.mainCountsRuns;  this._baseURL = "";  this.setup();}// seconds to wait for each test page to loadjsUnitTestManager.TESTPAGE_WAIT_SEC  = 20;jsUnitTestManager.TIMEOUT_LENGTH     = 20;// seconds to wait for setUpPage to completejsUnitTestManager.SETUPPAGE_TIMEOUT    = 60; // milliseconds to wait between polls on setUpPagesjsUnitTestManager.SETUPPAGE_INTERVAL   = 100;jsUnitTestManager.prototype.setup = function (){  this.totalCount    = 0;  this.errorCount    = 0;  this.failureCount  = 0;  this._suiteStack   = Array();  var initialSuite   = new top.jsUnitTestSuite();  push(this._suiteStack, initialSuite);}jsUnitTestManager.prototype.start = function () {  this._baseURL = this.resolveUserEnteredTestFileName();  var firstQuery = this._baseURL.indexOf("?");  if (firstQuery >= 0) {       this._baseURL = this._baseURL.substring(0, firstQuery);  }  var lastSlash = this._baseURL.lastIndexOf("/");  var lastRevSlash = this._baseURL.lastIndexOf("\\");  if (lastRevSlash > lastSlash) {     lastSlash = lastRevSlash;  }  if (lastSlash > 0) {     this._baseURL = this._baseURL.substring(0, lastSlash + 1);  }  this._timeRunStarted = new Date();  this.initialize();  setTimeout('top.testManager._nextPage();', jsUnitTestManager.TIMEOUT_LENGTH);}jsUnitTestManager.prototype.getBaseURL = function () {  return this._baseURL;}jsUnitTestManager.prototype.doneLoadingPage = function (pageName) {  //this.containerTestFrame.setTracer(top.tracer);  this._testFileName = pageName;  if (this.isTestPageSuite())     this._handleNewSuite();  else  {    this._testIndex   = 0;    this._testsInPage = this.getTestFunctionNames();    this._numberOfTestsInPage = this._testsInPage.length;    this._runTest();  }}jsUnitTestManager.prototype._handleNewSuite = function () {  var allegedSuite = this.containerTestFrame.suite();  if (allegedSuite.isjsUnitTestSuite) {    var newSuite = allegedSuite.clone();    if (newSuite.containsTestPages())      push(this._suiteStack, newSuite);    this._nextPage();  }  else {    alert('Invalid test suite in file ' + this._testFileName);    this.abort();  }}jsUnitTestManager.prototype._runTest = function () {  if (this._testIndex + 1 > this._numberOfTestsInPage)  {    this._nextPage();    return;  }  if (this._testIndex == 0 && typeof(this.containerTestFrame.setUpPage) == 'function')  {    // first test for this page and a setUpPage is defined    if (typeof(this.containerTestFrame.setUpPageStatus) == 'undefined')    {      // setUpPage() not called yet, so call it      this.containerTestFrame.setUpPageStatus = false;      this.containerTestFrame.startTime = new Date();      this.containerTestFrame.setUpPage();      // try test again later      setTimeout('top.testManager._runTest()', jsUnitTestManager.SETUPPAGE_INTERVAL);      return;    }    if (this.containerTestFrame.setUpPageStatus != 'complete')    {      // setUpPage called, but not complete yet      top.status = 'setUpPage not completed... ' + this.containerTestFrame.setUpPageStatus + ' ' + (new Date());      if ((new Date() - this.containerTestFrame.startTime) /1000 > this.getsetUpPageTimeout()) {        alert('setUpPage timed out without completing.');        if (prompt('Retry or Cancel ?', 'Retry') != 'Retry')        {          this.abort();          return;        }        this.containerTestFrame.startTime = (new Date());      }      // try test again later      setTimeout('top.testManager._runTest()', jsUnitTestManager.SETUPPAGE_INTERVAL);      return;    }  }  top.status = '';  // either not first test, or no setUpPage defined, or setUpPage completed  this.executeTestFunction(this._testsInPage[this._testIndex]);  this.totalCount++;  this.updateProgressIndicators();  this._testIndex++;  setTimeout('top.testManager._runTest()', jsUnitTestManager.TIMEOUT_LENGTH);}jsUnitTestManager.prototype._done = function () {  var secondsSinceRunBegan=(new Date() - this._timeRunStarted)/1000;  this.setStatus('Done (' + secondsSinceRunBegan + ' seconds)');  this._cleanUp();  if (top.shouldSubmitResults()) {    this.resultsTimeField.value = secondsSinceRunBegan;  	top.submitResults();  }}jsUnitTestManager.prototype._nextPage = function () {  if (this._currentSuite().hasMorePages()) {    this.loadPage(this._currentSuite().nextPage());  }  else {    pop(this._suiteStack);    if (this._currentSuite() == null)      this._done();    else      this._nextPage();  }}jsUnitTestManager.prototype._currentSuite = function () {  var suite = null;  if (this._suiteStack && this._suiteStack.length > 0)    suite = this._suiteStack[this._suiteStack.length-1];  return suite;}jsUnitTestManager.prototype.calculateProgressBarProportion = function () {  if (this.totalCount == 0)     return 0;  var currentDivisor = 1;  var result         = 0;    for (var i = 0; i < this._suiteStack.length; i++) {    var aSuite     = this._suiteStack[i];    currentDivisor *= aSuite.testPages.length;    result += (aSuite.pageIndex - 1)/currentDivisor;  }  result += (this._testIndex + 1)/(this._numberOfTestsInPage * currentDivisor);  return result;}jsUnitTestManager.prototype._cleanUp = function () {  this.containerController.setTestPage('./app/emptyPage.html');  this.finalize();  top.tracer.finalize();}jsUnitTestManager.prototype.abort = function () {  this.setStatus('Aborted');  this._cleanUp();}jsUnitTestManager.prototype.getTimeout = function () {  var result = jsUnitTestManager.TESTPAGE_WAIT_SEC;  try {    result = eval(this.timeout.value);  }   catch (e) {  }  return result;}jsUnitTestManager.prototype.getsetUpPageTimeout = function () {  var result = jsUnitTestManager.SETUPPAGE_TIMEOUT;  try {    result = eval(this.setUpPageTimeout.value);  }   catch (e) {  }  return result;}jsUnitTestManager.prototype.isTestPageSuite = function () {  var result = false;  if (typeof(this.containerTestFrame.suite) == 'function')  {    result = true;  }  return result;}jsUnitTestManager.prototype.getTestFunctionNames = function () {  var testFrame         = this.containerTestFrame;  var testFunctionNames = new Array();  var i;    if (testFrame && typeof(testFrame.exposeTestFunctionNames) == 'function')        return testFrame.exposeTestFunctionNames();    if (testFrame &&       testFrame.document &&       typeof(testFrame.document.scripts) != 'undefined') { // IE5 and up    var scriptsInTestFrame = testFrame.document.scripts;        for (i = 0; i < scriptsInTestFrame.length; i++) {      var someNames = this._extractTestFunctionNamesFromScript(scriptsInTestFrame[i]);      if (someNames)        testFunctionNames=testFunctionNames.concat(someNames);    }  }   else {    for (i in testFrame) {      if (i.substring(0, 4) == 'test' && typeof(testFrame[i]) == 'function')        push(testFunctionNames, i);    }  }  return testFunctionNames;}jsUnitTestManager.prototype._extractTestFunctionNamesFromScript = function (aScript) {  var result;  var remainingScriptToInspect = aScript.text;  var currentIndex             = remainingScriptToInspect.indexOf('function test');  while (currentIndex != -1) {    if (!result)       result=new Array();          var fragment = remainingScriptToInspect.substring(currentIndex, remainingScriptToInspect.length);    result       = result.concat(fragment.substring('function '.length, fragment.indexOf('(')));                remainingScriptToInspect=remainingScriptToInspect.substring(currentIndex+12, remainingScriptToInspect.length);                currentIndex=remainingScriptToInspect.indexOf('function test');  }  return result;}jsUnitTestManager.prototype.loadPage = function (testFileName) {  this._testFileName         = testFileName;  this._loadAttemptStartTime = new Date();  this.setStatus('Opening Test Page "' + this._testFileName + '"');  this.containerController.setTestPage(this._testFileName);  this._callBackWhenPageIsLoaded();}jsUnitTestManager.prototype._callBackWhenPageIsLoaded = function () {  if ((new Date() - this._loadAttemptStartTime) / 1000 > this.getTimeout()) {    alert('Reading Test Page ' + this._testFileName + ' timed out.\nMake sure that the file exists and is a Test Page.');    if (prompt('Retry or Cancel ?', 'Retry') != 'Retry')    {      this.abort();      return;    }  }  if (!this._isTestFrameLoaded()) {    setTimeout('top.testManager._callBackWhenPageIsLoaded();', jsUnitTestManager.TIMEOUT_LENGTH);    return;  }  this.doneLoadingPage(this._testFileName);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精品**一区二区三区在线蜜桃| 国产精品自拍毛片| 美女网站在线免费欧美精品| 99精品久久久久久| 精品成a人在线观看| 亚洲国产欧美日韩另类综合 | 日本不卡视频在线观看| www.欧美亚洲| 国产三级精品三级在线专区| 日韩成人精品在线观看| 欧美综合久久久| 亚洲欧美经典视频| jlzzjlzz亚洲女人18| 亚洲精品国产精品乱码不99 | 亚洲欧美另类综合偷拍| 欧美亚男人的天堂| 亚洲免费视频中文字幕| 欧美日韩国产欧美日美国产精品| 亚洲日本护士毛茸茸| 国产麻豆一精品一av一免费| www久久久久| 久久99久久99精品免视看婷婷| 91精品国产综合久久福利| 亚洲成a天堂v人片| 欧美色网一区二区| 精品中文字幕一区二区小辣椒| 中文字幕av一区二区三区高| 国产精品小仙女| 亚洲综合色婷婷| 欧美精品99久久久**| 五月婷婷久久综合| 欧美精品色综合| 国产精品综合在线视频| 一区二区三区在线免费播放| 在线精品视频小说1| 国模冰冰炮一区二区| 亚洲一区二区成人在线观看| 久久精品一区二区| www.日韩精品| 精彩视频一区二区| 亚洲一区在线电影| 国产日韩欧美精品一区| 91麻豆精品91久久久久同性| 久久av老司机精品网站导航| 久久人人97超碰com| 9色porny自拍视频一区二区| 日韩电影一区二区三区| 亚洲视频香蕉人妖| 久久久国产精品麻豆| 8x福利精品第一导航| 色诱亚洲精品久久久久久| 午夜视频在线观看一区| 亚洲天堂av老司机| 国产偷v国产偷v亚洲高清 | 日韩午夜小视频| 国产精品一区一区三区| 日韩成人午夜电影| 亚洲一区在线观看视频| 亚洲天堂久久久久久久| 中文字幕乱码日本亚洲一区二区| 精品欧美黑人一区二区三区| 成人精品国产福利| 亚洲国产日韩精品| 自拍视频在线观看一区二区| 欧美国产成人精品| 国产日韩v精品一区二区| 日韩欧美一区在线观看| 91精品午夜视频| 欧美精品日韩一区| 欧美日韩成人在线| 欧美亚洲一区二区在线观看| 色综合中文字幕| 麻豆91免费看| 热久久国产精品| 久久国产麻豆精品| 蜜桃av一区二区三区| 免费成人美女在线观看| 日本成人中文字幕在线视频| 亚洲va欧美va国产va天堂影院| 亚洲国产精品久久人人爱蜜臀 | 在线精品视频一区二区| 在线一区二区三区四区五区 | 成人永久看片免费视频天堂| 午夜一区二区三区在线观看| 一区二区高清视频在线观看| 亚洲午夜视频在线观看| 亚洲444eee在线观看| 日韩福利电影在线| 精品一区二区三区免费观看| 国产最新精品免费| 国产精品99久久久久久久女警| 国产91露脸合集magnet | 亚洲综合一区二区精品导航| 亚洲精品久久久久久国产精华液 | 婷婷六月综合亚洲| 蜜桃精品视频在线| 国产suv精品一区二区6| 91同城在线观看| 粉嫩嫩av羞羞动漫久久久| av毛片久久久久**hd| 欧美无砖专区一中文字| 91精品免费在线观看| 国产亚洲成aⅴ人片在线观看| 国产精品久久久久久久久果冻传媒| 久久婷婷综合激情| 国产精品激情偷乱一区二区∴| 亚洲视频在线一区| 免费久久99精品国产| 国产98色在线|日韩| 欧美在线短视频| 久久老女人爱爱| 亚洲午夜久久久久| 精品一区二区久久| 一本大道久久精品懂色aⅴ| 欧美日韩一区二区在线观看 | 成人毛片在线观看| 欧美亚洲日本国产| 2019国产精品| 亚洲综合免费观看高清完整版在线| 视频一区视频二区在线观看| 亚洲成av人片一区二区梦乃| 国产黑丝在线一区二区三区| 丁香另类激情小说| 欧美日韩mp4| 日本一区免费视频| 日韩在线一区二区三区| 成人永久aaa| 日韩欧美一区中文| 亚洲综合一二区| 成人手机在线视频| 欧美一级专区免费大片| 一区二区三区成人在线视频| 国产精品一区二区在线看| 欧美日韩五月天| 自拍视频在线观看一区二区| 黑人精品欧美一区二区蜜桃| 欧美色图免费看| 中文字幕一区二区视频| 亚洲一区在线视频| 成人开心网精品视频| 精品999在线播放| 日日骚欧美日韩| 色婷婷久久久久swag精品| 国产日产欧美一区二区视频| 美女视频黄频大全不卡视频在线播放| 91蜜桃网址入口| 日本一区二区高清| 精品一区二区免费视频| 69精品人人人人| 偷拍与自拍一区| 91高清视频免费看| 中文字幕一区二区三区四区 | 亚洲丝袜制服诱惑| 国产99精品视频| 久久久www免费人成精品| 美国十次综合导航| 欧美精品电影在线播放| 亚洲成a人片在线观看中文| 色哟哟日韩精品| 亚洲欧美电影院| 色偷偷久久人人79超碰人人澡| 国产精品每日更新在线播放网址| 亚洲二区在线观看| 欧美亚洲尤物久久| 一区二区免费在线播放| 欧美亚洲国产bt| 亚洲成人av一区| 日韩一区二区三区电影在线观看 | |精品福利一区二区三区| www.性欧美| 中文字幕日韩一区| 色综合久久久久久久| 亚洲天堂2014| 欧美视频在线不卡| 亚洲成a人v欧美综合天堂| 欧美日韩1234| 蜜桃av一区二区三区电影| 精品久久久网站| 成人免费毛片app| 国产精品电影院| 欧美视频完全免费看| 天天综合网天天综合色| 欧美一区二区精美| 国产麻豆日韩欧美久久| 国产精品网友自拍| 91麻豆产精品久久久久久 | 欧美成人免费网站| 国产一区二区美女| 自拍偷拍国产亚洲| 欧美久久久久久蜜桃| 蜜桃av噜噜一区| 中文字幕一区二区视频| 欧美日韩精品三区| 狠狠色丁香婷综合久久| 国产精品亲子伦对白| 欧美日韩中文精品| 国产一区久久久| 亚洲一区二区高清| 精品88久久久久88久久久| 99久久国产综合色|国产精品|