github.com/ernestokarim/closurer@v0.0.0-20130119214741-f245d086c750/templates/global-test.html (about) 1 {{define "base"}} 2 <!DOCTYPE html> 3 <html> 4 <head> 5 6 <meta charset="utf-8"> 7 <title>Test Runner</title> 8 9 <style type="text/css"> 10 11 .goog-testrunner { 12 background-color: #EEE; 13 border: 1px solid #999; 14 padding: 10px; 15 padding-bottom: 25px; 16 } 17 18 .goog-testrunner-progress { 19 width: auto; 20 height: 20px; 21 background-color: #FFF; 22 border: 1px solid #999; 23 } 24 25 .goog-testrunner-progress table { 26 width: 100%; 27 height: 20px; 28 border-collapse: collapse; 29 } 30 31 .goog-testrunner-buttons { 32 margin-top: 7px; 33 } 34 35 .goog-testrunner-buttons button { 36 width: 75px; 37 } 38 39 .goog-testrunner-log, 40 .goog-testrunner-report, 41 .goog-testrunner-stats { 42 margin-top: 7px; 43 width: auto; 44 height: 400px; 45 background-color: #FFF; 46 border: 1px solid #999; 47 font: normal medium monospace; 48 padding: 5px; 49 overflow: auto; /* Opera doesn't support overflow-y. */ 50 overflow-y: scroll; 51 overflow-x: auto; 52 } 53 54 .goog-testrunner-report div { 55 margin-bottom: 6px; 56 border-bottom: 1px solid #999; 57 } 58 59 .goog-testrunner-stats table { 60 margin-top: 20px; 61 border-collapse: collapse; 62 border: 1px solid #EEE; 63 } 64 65 .goog-testrunner-stats td, 66 .goog-testrunner-stats th { 67 padding: 2px 6px; 68 border: 1px solid #F0F0F0; 69 } 70 71 .goog-testrunner-stats th { 72 font-weight: bold; 73 } 74 75 .goog-testrunner-stats .center { 76 text-align: center; 77 } 78 79 .goog-testrunner-progress-summary { 80 font: bold small sans-serif; 81 } 82 83 .goog-testrunner iframe { 84 position: absolute; 85 left: -640px; 86 top: -480px; 87 width: 640px; 88 height: 480px; 89 margin: 0; 90 border: 0; 91 padding: 0; 92 } 93 94 .goog-testrunner-report-failure { 95 color: #900; 96 } 97 98 .goog-testrunner-reporttab, 99 .goog-testrunner-logtab, 100 .goog-testrunner-statstab { 101 float: left; 102 width: 50px; 103 height: 16px; 104 text-align: center; 105 font: normal small arial, helvetica, sans-serif; 106 color: #666; 107 background-color: #DDD; 108 border: 1px solid #999; 109 border-top: 0; 110 cursor: pointer; 111 } 112 113 .goog-testrunner-reporttab, 114 .goog-testrunner-logtab { 115 border-right: 0; 116 } 117 118 .goog-testrunner-activetab { 119 font-weight: bold; 120 color: #000; 121 background-color: #CCC; 122 } 123 124 h1 { 125 font: normal x-large arial, helvetica, sans-serif; 126 margin: 0; 127 } 128 129 p, form { 130 font: normal small sans-serif; 131 margin: 0; 132 } 133 134 #header { 135 position: absolute; 136 right: 10px; 137 top: 13px; 138 color: #090; 139 } 140 141 #footer { 142 margin-top: 8px; 143 } 144 145 .warning { 146 font-size: 14px; 147 font-weight: bold; 148 width: 80%; 149 } 150 151 </style> 152 153 <script type="text/javascript" src="/input/base.js"></script> 154 <script type="text/javascript"> 155 goog.require('goog.userAgent.product'); 156 goog.require('goog.testing.MultiTestRunner'); 157 </script> 158 159 </head> 160 <body> 161 162 <h1>All JsUnit Tests</h1> 163 <p id="header"> 164 <a href="/test/list">List of Individual Tests</a> | 165 <a href="/">Home</a> 166 </p> 167 168 <div id="runner"></div> 169 170 <form id="footer" onsubmit="return false;"> 171 172 Settings:<br> 173 174 <input type="checkbox" name="hidepasses" id="hidepasses"> 175 <label for="hidepasses">Hide passes</label><br> 176 177 <input type="checkbox" name="parallel" id="parallel" checked> 178 <label for="parallel">Run in parallel</label> 179 <small>(timing stats not available if enabled)</small><br> 180 181 <input type="text" name="filter" id="filter" value=""> 182 <label for="filter">Run only tests for path</label> 183 184 </form> 185 186 <script type="text/javascript"> 187 188 (function() { 189 var allTests = {{.AllTests}}; 190 191 var hidePassesInput = document.getElementById('hidepasses'); 192 var parallelInput = document.getElementById('parallel'); 193 var filterInput = document.getElementById('filter'); 194 195 function setFilterFunction() { 196 var matchValue = filterInput.value || ''; 197 testRunner.setFilterFunction(function(testPath) { 198 return testPath.indexOf(matchValue) > -1; 199 }); 200 } 201 202 // Create a test runner and render it. 203 var testRunner = new goog.testing.MultiTestRunner() 204 .setName(document.title) 205 .setPoolSize(parallelInput.checked ? 8 : 1) 206 .setStatsBucketSizes(5, 500) 207 .setHidePasses(hidePassesInput.checked) 208 .addTests(allTests); 209 testRunner.render(document.getElementById('runner')); 210 211 goog.events.listen(hidePassesInput, 'click', function(e) { 212 testRunner.setHidePasses(e.target.checked); 213 }); 214 215 goog.events.listen(parallelInput, 'click', function(e) { 216 testRunner.setPoolSize(e.target.checked ? 8 : 1); 217 }); 218 219 goog.events.listen(filterInput, 'keyup', setFilterFunction); 220 setFilterFunction(); 221 })(); 222 223 </script> 224 225 </body> 226 </html> 227 {{end}}