Merge branch 'master' of https://github.com/danvk/dygraphs into unzoom
[dygraphs.git] / auto_tests / misc / new-test.sh
CommitLineData
28cbe89e
DV
1#!/bin/bash
2#
3# Run this to automatically create a new auto_test. Example:
4#
5# ./auto_tests/misc/new_test.sh axis-labels
6#
7# This will produce a new file in auto_tests/tests/axis_labels.js including
8#
9# var AxisLabelsTestCase = TestCase("axis-labels");
10# ...
11#
12# It will also add a reference to this file to auto_tests/misc/local.html.
13
14set -o errexit
15if [ -z $1 ]; then
16 echo Usage: $0 test-case-name-with-dashes
17 exit 1
18fi
19
20dashed_name=$1
21underscore_name=$(echo $1 | sed 's/-/_/g')
22camelCaseName=$(echo $1 | perl -pe 's/-([a-z])/uc $1/ge')
23testCaseName=${camelCaseName}TestCase
24
25test_file=auto_tests/tests/$underscore_name.js
26
27if [ -f $test_file ]; then
28 echo $test_file already exists
29 exit 1
30fi
31
32cat <<END > $test_file;
33/**
34 * @fileoverview FILL THIS IN
35 *
36 * @author $(git config --get user.email) ($(git config --get user.name))
37 */
38var $testCaseName = TestCase("$dashed_name");
39
40$testCaseName.prototype.setUp = function() {
41 document.body.innerHTML = "<div id='graph'></div>";
42};
43
44$testCaseName.prototype.tearDown = function() {
45};
46
47$testCaseName.prototype.testNameGoesHere = function() {
48 var opts = {
49 width: 480,
50 height: 320
51 };
52 var data = "X,Y\n" +
53 "0,-1\n" +
54 "1,0\n" +
55 "2,1\n" +
56 "3,0\n"
57 ;
58
59 var graph = document.getElementById("graph");
60 var g = new Dygraph(graph, data, opts);
61
62 ...
63 assertEquals(1, 1);
64};
65
66END
67
68perl -pi -e 'next unless /update_options.js/; print " <script type=\"text/javascript\" src=\"../tests/'$underscore_name'.js\"></script>\n"' auto_tests/misc/local.html
69
70echo Wrote test to $test_file