Merge pull request #252 from kberg/auto-tests
authorRobert Konigsberg <konigsberg@gmail.com>
Mon, 3 Jun 2013 14:05:59 +0000 (07:05 -0700)
committerRobert Konigsberg <konigsberg@gmail.com>
Mon, 3 Jun 2013 14:05:59 +0000 (07:05 -0700)
Add nice little things to the in-browser test runner.

auto_tests/misc/local.html
auto_tests/misc/local.js

index 6bdb547..6950a0a 100644 (file)
     color: black;
     text-decoration: none;
   }
+
+  .anchor:hover {
+    color:blue;
+  }
 </style>
 </head>
 <body>
index e8414ae..39a3cb5 100644 (file)
@@ -152,13 +152,42 @@ DygraphsLocalTester.prototype.postResults = function() {
     tr.appendChild(tdResult);
 
     var tdName = document.createElement("td");
-    tdName.innerText = result.name;
+    var div = document.createElement("div");
+    div.innerText = result.name;
+    div.onclick = function(name) {
+      return function() {
+        var s = name.split(".");
+        var testCase = s[0];
+        var testName = s[1];
+        url = window.location.pathname +
+            "?testCaseName=" + testCase +
+            "&test=" + testName +
+            "&command=runTest";
+        window.location.href = url;
+      };
+    }(result.name);
+    div.setAttribute("class", "anchor");
+    tdName.appendChild(div);
     tr.appendChild(tdName);
 
     var tdDuration = document.createElement("td");
     tdDuration.innerText = result.duration;
     tr.appendChild(tdDuration);
 
+    if (result.e) {
+      var tdDetails = document.createElement("td");
+      div = document.createElement("div");
+      div.innerText = "more...";
+      div.setAttribute("class", "anchor");
+      div.onclick = function(e) {
+        return function() {
+          alert(e + "\n" + e.stack);
+        };
+      }(result.e);
+      tdDetails.appendChild(div);
+      tr.appendChild(tdDetails);
+    }
+
     table.appendChild(tr);
   }
 }
@@ -211,7 +240,8 @@ DygraphsLocalTester.prototype.finish_ = function(tc, name, result, e) {
   this.results.push({
     name : tc.name + "." + name,
     result : result,
-    duration : endms_ - this.startms_
+    duration : endms_ - this.startms_,
+    e : e
   });
   this.summary.passed += result ? 1 : 0;
   this.summary.failed += result ? 0 : 1;