| OLD | NEW |
| 1 #import('dart:html'); | 1 #import('dart:html'); |
| 2 #import('dart:json'); | 2 #import('dart:json'); |
| 3 #import('Suites.dart'); | 3 #import('Suites.dart'); |
| 4 | 4 |
| 5 main() { | 5 main() { |
| 6 new Dromaeo().run(); | 6 new Dromaeo().run(); |
| 7 } | 7 } |
| 8 | 8 |
| 9 class SuiteController { | 9 class SuiteController { |
| 10 final SuiteDescription _suiteDescription; | 10 final SuiteDescription _suiteDescription; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 _suiteIframe.contentWindow.postMessage('start', '*'); | 25 _suiteIframe.contentWindow.postMessage('start', '*'); |
| 26 } | 26 } |
| 27 | 27 |
| 28 update(String testName, num mean, num error, double percent) { | 28 update(String testName, num mean, num error, double percent) { |
| 29 _meanProduct *= mean; | 29 _meanProduct *= mean; |
| 30 _nTests++; | 30 _nTests++; |
| 31 | 31 |
| 32 final meanAsString = mean.toStringAsFixed(2); | 32 final meanAsString = mean.toStringAsFixed(2); |
| 33 final errorAsString = error.toStringAsFixed(2); | 33 final errorAsString = error.toStringAsFixed(2); |
| 34 final Element progressDisplay = _element.nextNode.nextNode; | 34 final Element progressDisplay = _element.nextNode.nextNode; |
| 35 progressDisplay.innerHTML += | 35 progressDisplay.innerHTML = |
| 36 '<li><b>${testName}:</b>' + | 36 '${progressDisplay.innerHTML}<li><b>${testName}:</b>' |
| 37 '${meanAsString}<small> runs/s ±${errorAsString}%<small></li>'; | 37 '${meanAsString}<small> runs/s ±${errorAsString}%<small></li>'; |
| 38 _updateTestPos(percent); | 38 _updateTestPos(percent); |
| 39 } | 39 } |
| 40 | 40 |
| 41 _make() { | 41 _make() { |
| 42 _element = _createDiv('test'); | 42 _element = _createDiv('test'); |
| 43 // TODO(antonm): add an onclick functionality. | 43 // TODO(antonm): add an onclick functionality. |
| 44 _updateTestPos(); | 44 _updateTestPos(); |
| 45 } | 45 } |
| 46 | 46 |
| 47 _updateTestPos([double percent = 1.0]) { | 47 _updateTestPos([double percent = 1.0]) { |
| 48 String suiteName = _suiteDescription.name; | 48 String suiteName = _suiteDescription.name; |
| 49 final done = percent >= 100.0; | 49 final done = percent >= 100.0; |
| 50 String info = ''; | 50 String info = ''; |
| 51 if (done) { | 51 if (done) { |
| 52 final parent = _element.parent; | 52 final parent = _element.parent; |
| 53 parent.attributes['class'] = '${parent.attributes["class"]} done'; | 53 parent.attributes['class'] = '${parent.attributes["class"]} done'; |
| 54 final mean = Math.pow(_meanProduct, 1.0 / _nTests).toStringAsFixed(2); | 54 final mean = Math.pow(_meanProduct, 1.0 / _nTests).toStringAsFixed(2); |
| 55 info = '<span>${mean} runs/s</span>'; | 55 info = '<span>${mean} runs/s</span>'; |
| 56 } | 56 } |
| 57 _element.innerHTML = | 57 _element.innerHTML = |
| 58 '<b>${suiteName}:</b>' + | 58 '<b>${suiteName}:</b>' |
| 59 '<div class="bar"><div style="width:${percent}%;">${info}</div></div>'; | 59 '<div class="bar"><div style="width:${percent}%;">${info}</div></div>'; |
| 60 } | 60 } |
| 61 | 61 |
| 62 _init() { | 62 _init() { |
| 63 final div = _createDiv('result-item'); | 63 final div = _createDiv('result-item'); |
| 64 div.nodes.add(_element); | 64 div.nodes.add(_element); |
| 65 final description = _suiteDescription.description; | 65 final description = _suiteDescription.description; |
| 66 final originUrl = _suiteDescription.origin.url; | 66 final originUrl = _suiteDescription.origin.url; |
| 67 final testUrl = 'tests/${_suiteDescription.file}'; | 67 final testUrl = 'tests/${_suiteDescription.file}'; |
| 68 div.innerHTML += | 68 div.innerHTML = |
| 69 '<p>${description}<br/><a href="${originUrl}">Origin</a>' + | 69 '${div.innerHTML}<p>${description}<br/><a href="${originUrl}">Origin</a' |
| 70 ', <a href="${testUrl}">Source</a>' + | 70 '>, <a href="${testUrl}">Source</a>' |
| 71 '<ol class="results"></ol>'; | 71 '<ol class="results"></ol>'; |
| 72 // Reread the element, as the previous wrapper get disconnected thanks | 72 // Reread the element, as the previous wrapper get disconnected thanks |
| 73 // to .innerHTML update above. | 73 // to .innerHTML update above. |
| 74 _element = div.nodes[0]; | 74 _element = div.nodes[0]; |
| 75 | 75 |
| 76 document.query('#main').nodes.add(div); | 76 document.query('#main').nodes.add(div); |
| 77 } | 77 } |
| 78 | 78 |
| 79 DivElement _createDiv(String clazz) { | 79 DivElement _createDiv(String clazz) { |
| 80 final div = new DivElement(); | 80 final div = new DivElement(); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 } | 212 } |
| 213 | 213 |
| 214 Element _byId(String id) { | 214 Element _byId(String id) { |
| 215 return document.query('#$id'); | 215 return document.query('#$id'); |
| 216 } | 216 } |
| 217 | 217 |
| 218 int get _suitesTotal() { | 218 int get _suitesTotal() { |
| 219 return _suiteControllers.length; | 219 return _suiteControllers.length; |
| 220 } | 220 } |
| 221 } | 221 } |
| OLD | NEW |