Add nice little things to the in-browser test runner.
[dygraphs.git] / auto_tests / misc / local.html
index a85132c..6950a0a 100644 (file)
   <![endif]-->
   <script type="text/javascript" src="../../dygraph-dev.js"></script>
 
-  <!-- Scripts for automated tests -->
+  <!-- Scripts for library support -->
   <script type="text/javascript" src="../lib/jquery-1.4.2.js"></script>
   <script type="text/javascript" src="../lib/Asserts.js"></script>
   <script type="text/javascript" src="fake-jstestdriver.js"></script>
   <script type="text/javascript" src="../tests/Proxy.js"></script>
   <script type="text/javascript" src="../tests/CanvasAssertions.js"></script>
   <script type="text/javascript" src="../tests/DygraphOps.js"></script>
-  <script type="text/javascript" src="../tests/sanity.js"></script>
-  <script type="text/javascript" src="../tests/simple_drawing.js"></script>
-  <script type="text/javascript" src="../tests/range_tests.js"></script>
+  <script type="text/javascript" src="../tests/PixelSampler.js"></script>
+  <script type="text/javascript" src="../tests/Util.js"></script>
+  <script type="text/javascript" src="local.js"></script>
+
+  <!-- Scripts for automated tests -->
+  <script type="text/javascript" src="../tests/annotations.js"></script>
   <script type="text/javascript" src="../tests/axis_labels.js"></script>
-  <script type="text/javascript" src="../tests/multi_csv.js"></script>
-  <script type="text/javascript" src="../tests/to_dom_coords.js"></script>
+  <script type="text/javascript" src="../tests/axis_labels-deprecated.js"></script>
+  <script type="text/javascript" src="../tests/callback.js"></script>
+  <script type="text/javascript" src="../tests/connect_separated_points.js"></script>
+  <script type="text/javascript" src="../tests/css.js"></script>
+  <script type="text/javascript" src="../tests/custom_bars.js"></script>
+  <script type="text/javascript" src="../tests/date_formats.js"></script>
+  <script type="text/javascript" src="../tests/dygraph-options-tests.js"></script>
+  <script type="text/javascript" src="../tests/error_bars.js"></script>
+  <script type="text/javascript" src="../tests/formats.js"></script>
+  <script type="text/javascript" src="../tests/grid_per_axis.js"></script>
   <script type="text/javascript" src="../tests/interaction_model.js"></script>
+  <script type="text/javascript" src="../tests/missing_points.js"></script>
+  <script type="text/javascript" src="../tests/multi_csv.js"></script>
+  <script type="text/javascript" src="../tests/multiple_axes.js"></script>
+  <script type="text/javascript" src="../tests/multiple_axes-old.js"></script>
+  <script type="text/javascript" src="../tests/no_hours.js"></script>
+  <script type="text/javascript" src="../tests/parser.js"></script>
+  <script type="text/javascript" src="../tests/pathological_cases.js"></script>
+  <script type="text/javascript" src="../tests/per_series.js"></script>
+  <script type="text/javascript" src="../tests/plugins.js"></script>
+  <script type="text/javascript" src="../tests/range_selector.js"></script>
+  <script type="text/javascript" src="../tests/range_tests.js"></script>
+  <script type="text/javascript" src="../tests/rolling_average.js"></script>
+  <script type="text/javascript" src="../tests/sanity.js"></script>
+  <script type="text/javascript" src="../tests/scientific_notation.js"></script>
+  <script type="text/javascript" src="../tests/scrolling_div.js"></script>
+  <script type="text/javascript" src="../tests/selection.js"></script>
+  <script type="text/javascript" src="../tests/simple_drawing.js"></script>
+  <script type="text/javascript" src="../tests/step_plot_per_series.js"></script>
+  <script type="text/javascript" src="../tests/stacked.js"></script>
   <!--
   <script type="text/javascript" src="../tests/tickers.js"></script>
   -->
-  <script type="text/javascript" src="../tests/scrolling_div.js"></script>
-  <script type="text/javascript" src="../tests/custom_bars.js"></script>
-  <script type="text/javascript" src="../tests/css.js"></script>
-  <script type="text/javascript" src="../tests/selection.js"></script>
-  <script type="text/javascript" src="../tests/rolling_average.js"></script>
-  <script type="text/javascript" src="../tests/error_bars.js"></script>
-  <script type="text/javascript" src="../tests/annotations.js"></script>
-  <script type="text/javascript" src="../tests/scientific_notation.js"></script>
+  <script type="text/javascript" src="../tests/to_dom_coords.js"></script>
+  <script type="text/javascript" src="../tests/resize.js"></script>
   <script type="text/javascript" src="../tests/update_options.js"></script>
+  <script type="text/javascript" src="../tests/update_while_panning.js"></script>
   <script type="text/javascript" src="../tests/utils_test.js"></script>
-  <script type="text/javascript" src="../tests/multiple_axes.js"></script>
 
+<style type="text/css">
+  .pass .outcome {
+    color: green;
+  }
 
-  <script type="text/javascript">
-  var tc = null;
-  function processVariables() {
-    var splitVariables = function() { // http://www.idealog.us/2006/06/javascript_to_p.html
-      var query = window.location.search.substring(1); 
-      var args = {};
-      var vars = query.split("&"); 
-      for (var i = 0;i < vars.length; i++) { 
-        var pair = vars[i].split("="); 
-        args[pair[0]] = pair[1];
-      }
-      return args;
-    }
+  .fail .outcome {
+    color: red;
+  }
 
-    var args = splitVariables();
-    var test = args.test;
-    var command = args.command;
+  .activeAnchor {
+    color: black;
+    text-decoration: none;
+  }
 
-    if (args.testCase) {
-      eval("tc = new " + args.testCase + "()");
-      if (args.command) {
-        if (args.command == "runAllTests") {
-          console.log("Running all tests for " + args.testCase);
-          tc.runAllTests();
-        }
-        if (args.command == "runTest") {
-          console.log("Running test " + args.testCase + "." + args.test);
-          tc.runTest(args.test);
-        }
-      }
-    }
+  .anchor:hover {
+    color:blue;
   }
-  </script>
+</style>
 </head>
 <body>
   <div id='graph'></div>
+  <div id="selector"></div>
   <p>This file is really nothing more than all the tests coalesced into a single
-  HTML file. To run a test, open a Javascript console and execute, for
-  instance,</p>
+  HTML file. To run a test, use the selector above, or
+  open a Javascript console and execute, for instance,</p>
   <code>testDrawSimpleRangePlusOne()</code>
 
   <p>Alternatively you can use query args: <ul>
-  <li>testCase - for the name of the test case
+  <li>testCase - for the name of the test case prototype
+  <li>testCaseName - for the name of the test case
   <li>test - for the name of the test (use command=runTest)
   <li>command - either runTest or runAllTests.
   </ul>
   Example: <code>local.html?testCase=ScrollingDivTestCase&test=testNestedDiv_Scrolled&command=runTest</code>
+  <p/>
 </body>
-<script>
-processVariables();
-addGlobalTestSymbols();
+<script type="text/javascript">
+  var tester = new DygraphsLocalTester();
+  // tester.overrideWarn(); // uncomment if you want warnings to be errors.
+  tester.processVariables();
+  addGlobalTestSymbols();
+  tester.run();
 </script>
 </html>