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.
97 lines
2.4 KiB
97 lines
2.4 KiB
import c3 from '../src'; |
|
|
|
const $$ = c3.chart.internal.fn; |
|
|
|
describe('$$.convertColumnsToData', () => { |
|
it('converts column data to normalized data', () => { |
|
const data = $$.convertColumnsToData([ |
|
["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', () => { |
|
expect(() => $$.convertColumnsToData([ |
|
["cat1", "a", "b", "c", "d"], |
|
["data1", undefined] |
|
])).toThrowError(Error, /Source data is missing a component/); |
|
}); |
|
}); |
|
|
|
describe('$$.convertRowsToData', () => { |
|
it('converts the row data to normalized data', () => { |
|
const data = $$.convertRowsToData([ |
|
['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', () => { |
|
expect(() => $$.convertRowsToData([ |
|
['data1', 'data2', 'data3'], |
|
[40, 160, 240], |
|
[90, 120, undefined] |
|
])).toThrowError(Error, /Source data is missing a component/); |
|
}); |
|
});
|
|
|