4 "IECanvasHTC": "../plotkit/iecanvas.htc",
9 function alert_val(e
) {
10 alert("x:" + e
.chart
.xval
+ "y:" + e
.chart
.yval
);
13 function genericTest(num
, plotStyle
) {
14 var l
= new PlotKit
.Layout(plotStyle
, {});
15 var success
= l
.addDatasetFromTable("data" + num
, $("test" + num
));
17 var c
= $("test" + num
+ "canvas");
18 var g
= new PlotKit
.CanvasRenderer(c
, l
, opts
);
22 MochiKit
.Signal
.connect(g
, "onclick", alert_val
);
25 function genericTestAndClear(num
, plotStyle
) {
26 var l
= new PlotKit
.Layout(plotStyle
, {});
27 l
.addDatasetFromTable("data" + num
, $("test" + num
));
29 var c
= $("test" + num
+ "canvas");
30 var g
= new PlotKit
.CanvasRenderer(c
, l
, opts
);
35 function dualDataSet(num
, plotStyle
) {
36 var l
= new PlotKit
.Layout(plotStyle
, {});
37 l
.addDatasetFromTable("data1." + num
, $("test" + num
), 0, 1);
38 l
.addDatasetFromTable("data2." + num
, $("test" + num
), 0, 2);
40 var c
= $("test" + num
+ "canvas");
41 var g
= new PlotKit
.CanvasRenderer(c
, l
, opts
);
46 /* create HTML for tests */
48 function makeTableRow(list
) {
49 return TR({}, map(partial(TD
, null), list
));
52 function generateTestTable(num
, data
) {
53 var tableid
= "test" + num
;
54 var tablehead
= THEAD(null, map(makeTableRow
, [["x", "y"]]));
55 var tablebody
= TBODY(null, map(makeTableRow
, data
));
57 var table
= TABLE({"class": "data", "id": tableid
}, [tablehead
, tablebody
]);
61 function generateCanvas(num
) {
62 var canvasid
= "test" + num
+ "canvas";
63 var canvas
= CANVAS({"id":canvasid
, "width": "400", "height": "200"}, "");
67 function generateUnitTest(num
, func
, data
, type
, desc
) {
68 var table
= DIV({"class": "data"}, generateTestTable(num
, data
));
69 var canvas
= DIV({"class": "canvas"}, generateCanvas(num
));
70 var ending
= DIV({"class":"ending"}, desc
);
72 addLoadEvent(partial(func
, num
, type
));
74 return DIV({"class": "unit"}, [table
, canvas
, ending
]);
77 function generateTests() {
78 var tests
= $('tests');
81 var simpleData1
= [[0, 0], [1, 1], [2, 2], [3, 3]];
82 var simpleData2
= [[1, 2], [2, 3], [3, 4], [4, 5]];
83 var singleData
= [[1, 1]];
85 var ninety
= [[1, 9], [2, 1]];
87 var floatData1
= [[0, 0.5], [1, 0.4], [2, 0.3]];
88 var missingData
= [[0, 1], [1, 4], [3, 16], [5, 17]];
90 var dualData
= [[0,0,0], [1,2,1], [2,4,4], [3,8,9], [4,16,16], [5,32,25], [6, 64, 36], [7, 128, 49]];
92 tests
.appendChild(H2(null, "Simple Tests"));
94 tests
.appendChild(generateUnitTest(1, genericTest
, simpleData1
,
97 tests
.appendChild(generateUnitTest(2, genericTest
, simpleData1
,
100 tests
.appendChild(generateUnitTest(3, genericTest
, simpleData2
,
103 tests
.appendChild(H2(null, "One Value Set"));
105 tests
.appendChild(generateUnitTest(4, genericTest
, singleData
,
107 tests
.appendChild(generateUnitTest(5, genericTest
, singleData
,
109 tests
.appendChild(generateUnitTest(6, genericTest
, singleData
,
112 tests
.appendChild(H2(null, "Float Values Set"));
113 tests
.appendChild(generateUnitTest(7, genericTest
, floatData1
,
115 tests
.appendChild(generateUnitTest(8, genericTest
, floatData1
,
117 tests
.appendChild(generateUnitTest(9, genericTest
, floatData1
,
120 tests
.appendChild(H2(null, "Dual Value Set"));
121 tests
.appendChild(generateUnitTest(10, dualDataSet
, dualData
,
123 tests
.appendChild(generateUnitTest(11, dualDataSet
, dualData
,
126 tests
.appendChild(H2(null, "Drawing and Clearing"));
127 tests
.appendChild(generateUnitTest(12, genericTest
, floatData1
,
129 tests
.appendChild(generateUnitTest(13, genericTestAndClear
, floatData1
,
131 tests
.appendChild(generateUnitTest(14, genericTest
, floatData1
,
133 tests
.appendChild(generateUnitTest(15, genericTestAndClear
, floatData1
,
136 tests
.appendChild(H2(null, "Testing Circle Drawing"));
138 tests
.appendChild(generateUnitTest(16, genericTest
, ninety
,
143 addLoadEvent(generateTests
);