Highcharts Export CSV Unit Tests
by Torstein Hønsi
HTML
<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
<script src="http://code.highcharts.com/modules/heatmap.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="http://highcharts.github.io/export-csv/export-csv.js"></script>
<script src="http://code.jquery.com/qunit/qunit-1.15.0.js"></script>
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/qunit/qunit-1.15.0.css" />
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<div id="container" style="height: 300px; margin-top: 2em"></div>
<pre id="test1" class="data">"Category","Series 1"
"Jan",29.9
"Feb",71.5
"Mar",106.4
"Apr",129.2
"May",144
"Jun",176
"Jul",135.6
"Aug",148.5
"Sep",216.4
"Oct",194.1
"Nov",95.6
"Dec",54.4</pre>
<pre id="test2" class="data">"DateTime","Series 1"
"2014-01-01 00:00:00",29.9
"2014-01-02 00:00:00",71.5
"2014-01-03 00:00:00",106.4
"2014-01-04 00:00:00",129.2
"2014-01-05 00:00:00",144
"2014-01-06 00:00:00",176
"2014-01-07 00:00:00",135.6
"2014-01-08 00:00:00",148.5
"2014-01-09 00:00:00",216.4
"2014-01-10 00:00:00",194.1
"2014-01-11 00:00:00",95.6
"2014-01-12 00:00:00",54.4</pre>
<pre id="datetime-multi" class="data">"DateTime","Series 1","Series 2","Series 3","Series 4"
"2014-01-01 00:00:00",1,2,3,4
"2014-01-02 00:00:00",2,3,4,5
"2014-01-03 00:00:00",3,4,5,6
"2014-01-04 00:00:00",4,5,6,7</pre>
<pre id="test3" class="data">"Category","Series 1"
0,29.9
1,71.5
2,106.4
3,129.2
4,144
5,176
6,135.6
7,148.5
8,216.4
9,194.1
10,95.6
11,54.4</pre>
<pre id="pie">"Category","Series 1"
"Apples",1
"Pears",2
"Oranges",3</pre>
<pre id="test3" class="data">"Category","Series 1"
0,29.9
1,71.5
2,106.4
3,129.2
4,144
5,176
6,135.6
7,148.5
8,216.4
9,194.1
10,95.6
11,54.4</pre>
CSS
.data {
display: none;
}
JavaScript
var chart;
QUnit.test("Categorized", function (assert) {
$('#container').highcharts({
title: {
text: 'Categorized chart'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
assert.equal(
$('#container').highcharts().getCSV(),
document.getElementById('test1').innerHTML,
"Basic categorized content"
);
$('#container').highcharts().addSeries({ data: [1,2,3,4,5,6,7,7], visible: false });
assert.equal(
$('#container').highcharts().getCSV(),
document.getElementById('test1').innerHTML,
"Added invisible series"
);
$('#container').highcharts().destroy();
});
QUnit.test("Named points", function (assert) {
$('#container').highcharts({
title: {
text: 'Named points'
},
xAxis: {
type: 'category'
},
series: [{
data: [
['Apples', 1],
['Pears', 2],
['Oranges', 3]
]
}]
});
assert.equal(
$('#container').highcharts().getCSV(),
document.getElementById('pie').innerHTML,
"Named points"
);
$('#container').highcharts().destroy();
});
QUnit.test("Datetime", function (assert) {
$('#container').highcharts({
title: {
text: 'Datetime chart'
},
xAxis: {
type: 'datetime'
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
pointStart: Date.UTC(2014, 0, 1),
pointInterval: 24 * 36e5
}]
});
assert.equal(
...