--- /dev/null
+<html>\r
+ <!--\r
+ NOTE: we are INTENTIONALLY in quirks mode. It makes it much easier to\r
+ get a "full screen" UI w/ straightforward CSS.\r
+ -->\r
+ <!--\r
+ // TODO: implement global progress bar\r
+ // TODO: provide a UI for prompted tests\r
+ -->\r
+ <head>\r
+ <title>The Dojo Unit Test Harness, $Rev$</title>\r
+ <script type="text/javascript">\r
+ window.dojoUrl = "../../dojo/dojo.js";\r
+ window.testUrl = "";\r
+ window.testModule = "";\r
+\r
+ // parse out our test URL and our Dojo URL from the query string\r
+ var qstr = window.location.search.substr(1);\r
+ if(qstr.length){\r
+ var qparts = qstr.split("&");\r
+ for(var x=0; x<qparts.length; x++){\r
+ var tp = qparts[x].split("=");\r
+ if(tp[0] == "dojoUrl"){\r
+ window.dojoUrl = tp[1];\r
+ }\r
+ if(tp[0] == "testUrl"){\r
+ window.testUrl = tp[1];\r
+ }\r
+ if(tp[0] == "testModule"){\r
+ window.testModule = tp[1];\r
+ }\r
+ }\r
+ }\r
+\r
+ document.write("<scr"+"ipt type='text/javascript' djConfig='isDebug: true' src='"+dojoUrl+"'></scr"+"ipt>");\r
+ </script>\r
+ <script type="text/javascript">\r
+ try{\r
+ dojo.require("doh.runner");\r
+ }catch(e){\r
+ document.write("<scr"+"ipt type='text/javascript' src='runner.js'></scr"+"ipt>");\r
+ document.write("<scr"+"ipt type='text/javascript' src='_browserRunner.js'></scr"+"ipt>");\r
+ }\r
+ if(testUrl.length){\r
+ document.write("<scr"+"ipt type='text/javascript' src='"+testUrl+".js'></scr"+"ipt>");\r
+ }\r
+ </script>\r
+ <style type="text/css">\r
+ @import "../../dojo/resources/dojo.css";\r
+ /*\r
+ body {\r
+ margin: 0px;\r
+ padding: 0px;\r
+ font-size: 13px;\r
+ color: #292929;\r
+ font-family: Myriad, Lucida Grande, Bitstream Vera Sans, Arial, Helvetica, sans-serif;\r
+ *font-size: small;\r
+ *font: x-small;\r
+ }\r
+\r
+ th, td {\r
+ font-size: 13px;\r
+ color: #292929;\r
+ font-family: Myriad, Lucida Grande, Bitstream Vera Sans, Arial, Helvetica, sans-serif;\r
+ font-weight: normal;\r
+ }\r
+\r
+ * body {\r
+ line-height: 1.25em;\r
+ }\r
+ \r
+ table {\r
+ border-collapse: collapse;\r
+ }\r
+ */\r
+\r
+ #testLayout {\r
+ position: relative;\r
+ left: 0px;\r
+ top: 0px;\r
+ width: 100%;\r
+ height: 100%;\r
+ border: 1px solid black;\r
+ border: 0px;\r
+ }\r
+\r
+ .tabBody {\r
+ margin: 0px;\r
+ padding: 0px;\r
+ /*\r
+ border: 1px solid black;\r
+ */\r
+ background-color: #DEDEDE;\r
+ border: 0px;\r
+ width: 100%;\r
+ height: 100%;\r
+ position: absolute;\r
+ left: 0px; \r
+ top: 0px;\r
+ overflow: auto;\r
+ }\r
+\r
+ #logBody {\r
+ padding-left: 5px;\r
+ padding-top: 5px;\r
+ font-family: Monaco, monospace;\r
+ font-size: 11px;\r
+ white-space: pre;\r
+ }\r
+\r
+ #progressOuter {\r
+ background:#e9e9e9 url("http://svn.dojotoolkit.org/dojo/dijit/trunk/themes/tundra/images/dojoTundraGradientBg.png") repeat-x 0 0;\r
+ /*\r
+ border-color: #e8e8e8;\r
+ */\r
+ }\r
+\r
+ #progressInner {\r
+ background: blue;\r
+ width: 0%;\r
+ position: relative;\r
+ left: 0px;\r
+ top: 0px;\r
+ height: 100%;\r
+ }\r
+\r
+ #play, #pause {\r
+ font-family: Webdings;\r
+ font-size: 1.4em;\r
+ border: 1px solid #DEDEDE;\r
+ cursor: pointer;\r
+ padding-right: 0.5em;\r
+ }\r
+\r
+ .header {\r
+ border: 1px solid #DEDEDE;\r
+ }\r
+\r
+ button.tab {\r
+ border-width: 1px 1px 0px 1px;\r
+ border-style: solid;\r
+ border-color: #DEDEDE;\r
+ margin-right: 5px;\r
+ }\r
+\r
+ #testListContainer {\r
+ /*\r
+ border: 1px solid black;\r
+ */\r
+ position: relative;\r
+ height: 99%;\r
+ width: 100%;\r
+ overflow: auto;\r
+ }\r
+\r
+ #testList {\r
+ border-collapse: collapse;\r
+ position: absolute;\r
+ left: 0px;\r
+ width: 100%;\r
+ }\r
+\r
+ #testList > tbody > tr > td {\r
+ border-bottom: 1px solid #DEDEDE;\r
+ border-right : 1px solid #DEDEDE;\r
+ padding: 3px;\r
+ }\r
+\r
+ #testListHeader th {\r
+ border-bottom: 1px solid #DEDEDE;\r
+ border-right : 1px solid #DEDEDE;\r
+ padding: 3px;\r
+ font-weight: bolder;\r
+ font-style: italic;\r
+ }\r
+\r
+ #toggleButtons {\r
+ float: left;\r
+ background-color: #DEDEDE;\r
+ }\r
+\r
+ tr.inProgress {\r
+ background-color: #85afde;\r
+ }\r
+\r
+ tr.success {\r
+ background-color: #7cdea7;\r
+ }\r
+\r
+ tr.failure {\r
+ background-color: #de827b;\r
+ }\r
+ </style>\r
+ </head>\r
+ <body>\r
+ <table id="testLayout" cellpadding="0" cellspacing="0" style="margin: 0;">\r
+ <tr valign="top" height="40">\r
+ <td colspan="2" id="logoBar">\r
+ <h3 style="margin: 5px 5px 0px 5px; float: left;">D.O.H.: The Dojo Objective Harness</h3>\r
+ <img src="small_logo.png" height="40" style="margin: 0px 5px 0px 5px; float: right;">\r
+ <span style="margin: 10px 5px 0px 5px; float: right;">\r
+ <input type="checkbox" id="audio" name="audio">\r
+ <label for="audio">sounds?</label>\r
+ </span>\r
+ </td>\r
+ </tr>\r
+ <!--\r
+ <tr valign="top" height="10">\r
+ <td colspan="2" id="progressOuter">\r
+ <div id="progressInner">blah</div>\r
+ </td>\r
+ </tr>\r
+ -->\r
+ <tr valign="top" height="30">\r
+ <td width="30%" class="header">\r
+ <span id="toggleButtons" onclick="doh.togglePaused();">\r
+ <button id="play">4</button>\r
+ <button id="pause" style="display: none;">;</button>\r
+ </span>\r
+ <span id="runningStatus">\r
+ <span id="pausedMsg">Stopped</span>\r
+ <span id="playingMsg" style="display: none;">Tests Running</span>\r
+ </span>\r
+ </td>\r
+ <td width="*" class="header" valign="bottom">\r
+ <button class="tab" onclick="showTestPage();">Test Page</button>\r
+ <button class="tab" onclick="showLogPage();">Log</button>\r
+ </td>\r
+ </tr>\r
+ <tr valign="top" style="border: 0; padding: 0; margin: 0;">\r
+ <td height="100%" style="border: 0; padding: 0; margin: 0;">\r
+ <div id="testListContainer">\r
+ <table cellpadding="0" cellspacing="0" border="0"\r
+ width="100%" id="testList" style="margin: 0;">\r
+ <thead>\r
+ <tr id="testListHeader" style="border: 0; padding: 0; margin: 0;" >\r
+ <th> </th>\r
+ <th width="20">\r
+ <input type="checkbox" checked \r
+ onclick="toggleRunAll();">\r
+ </th>\r
+ <th width="*" style="text-align: left;">test</th>\r
+ <th width="50">time</th>\r
+ </tr>\r
+ </thead>\r
+ <tbody valign="top">\r
+ <tr id="groupTemplate" style="display: none;">\r
+ <td style="font-family: Webdings; width: 15px;">4</td>\r
+ <td>\r
+ <input type="checkbox" checked>\r
+ </td>\r
+ <td>group name</td>\r
+ <td>10ms</td>\r
+ </tr>\r
+ <tr id="testTemplate" style="display: none;">\r
+ <td> </td>\r
+ <td> </td>\r
+ <td style="padding-left: 20px;">test name</td>\r
+ <td>10ms</td>\r
+ </tr>\r
+ </tbody>\r
+ </table>\r
+ </div>\r
+ </td>\r
+ <td>\r
+ <div style="position: relative; width: 99%; height: 100%; top: 0px; left: 0px;">\r
+ <div class="tabBody"\r
+ style="z-index: 1;">\r
+<pre id="logBody"></pre>\r
+ </div>\r
+ <iframe id="testBody" class="tabBody"\r
+ style="z-index: 0;"></iframe>\r
+ <!--\r
+ src="http://redesign.dojotoolkit.org"></iframe>\r
+ -->\r
+ </div>\r
+ </td>\r
+ </tr>\r
+ </table>\r
+ <span id="hiddenAudio"></span>\r
+ </body>\r
+</html>\r
+\r