mirror of https://github.com/masayuki0812/c3.git
Quite good looking graph derived from d3.js
http://c3js.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.4 KiB
98 lines
2.4 KiB
8 years ago
|
import c3 from '../src';
|
||
8 years ago
|
|
||
8 years ago
|
const $$ = c3.chart.internal.fn;
|
||
|
|
||
|
describe('$$.convertColumnsToData', () => {
|
||
8 years ago
|
it('converts column data to normalized data', () => {
|
||
8 years ago
|
const data = $$.convertColumnsToData([
|
||
8 years ago
|
["cat1", "a", "b", "c", "d"],
|
||
|
["data1", 30, 200, 100, 400],
|
||
|
["cat2", "b", "a", "c", "d", "e", "f"],
|
||
|
["data2", 400, 60, 200, 800, 10, 10]
|
||
|
]);
|
||
|
|
||
|
expect(data).toEqual([{
|
||
|
cat1: 'a',
|
||
|
data1: 30,
|
||
|
cat2: 'b',
|
||
|
data2: 400
|
||
|
}, {
|
||
|
cat1: 'b',
|
||
|
data1: 200,
|
||
|
cat2: 'a',
|
||
|
data2: 60
|
||
|
}, {
|
||
|
cat1: 'c',
|
||
|
data1: 100,
|
||
|
cat2: 'c',
|
||
|
data2: 200
|
||
|
}, {
|
||
|
cat1: 'd',
|
||
|
data1: 400,
|
||
|
cat2: 'd',
|
||
|
data2: 800
|
||
|
}, {
|
||
|
cat2: 'e',
|
||
|
data2: 10
|
||
|
}, {
|
||
|
cat2: 'f',
|
||
|
data2: 10
|
||
|
}]);
|
||
|
});
|
||
|
|
||
|
it('throws when the column data contains undefined', () => {
|
||
8 years ago
|
expect(() => $$.convertColumnsToData([
|
||
8 years ago
|
["cat1", "a", "b", "c", "d"],
|
||
|
["data1", undefined]
|
||
|
])).toThrowError(Error, /Source data is missing a component/);
|
||
|
});
|
||
|
});
|
||
|
|
||
8 years ago
|
describe('$$.convertRowsToData', () => {
|
||
8 years ago
|
it('converts the row data to normalized data', () => {
|
||
8 years ago
|
const data = $$.convertRowsToData([
|
||
8 years ago
|
['data1', 'data2', 'data3'],
|
||
|
[90, 120, 300],
|
||
|
[40, 160, 240],
|
||
|
[50, 200, 290],
|
||
|
[120, 160, 230],
|
||
|
[80, 130, 300],
|
||
|
[90, 220, 320]
|
||
|
]);
|
||
|
|
||
|
expect(data).toEqual([{
|
||
|
data1: 90,
|
||
|
data2: 120,
|
||
|
data3: 300
|
||
|
}, {
|
||
|
data1: 40,
|
||
|
data2: 160,
|
||
|
data3: 240
|
||
|
}, {
|
||
|
data1: 50,
|
||
|
data2: 200,
|
||
|
data3: 290
|
||
|
}, {
|
||
|
data1: 120,
|
||
|
data2: 160,
|
||
|
data3: 230
|
||
|
}, {
|
||
|
data1: 80,
|
||
|
data2: 130,
|
||
|
data3: 300
|
||
|
}, {
|
||
|
data1: 90,
|
||
|
data2: 220,
|
||
|
data3: 320
|
||
|
}]);
|
||
|
});
|
||
|
|
||
|
it('throws when the row data contains undefined', () => {
|
||
8 years ago
|
expect(() => $$.convertRowsToData([
|
||
8 years ago
|
['data1', 'data2', 'data3'],
|
||
|
[40, 160, 240],
|
||
|
[90, 120, undefined]
|
||
|
])).toThrowError(Error, /Source data is missing a component/);
|
||
|
});
|
||
|
});
|