mirror of https://github.com/masayuki0812/c3.git
Masayuki Tanaka
8 years ago
committed by
GitHub
8 changed files with 181 additions and 26 deletions
@ -0,0 +1,15 @@
|
||||
import babel from 'rollup-plugin-babel'; |
||||
|
||||
export default { |
||||
entry: 'src/index.js', |
||||
format: 'umd', |
||||
moduleName: 'c3', |
||||
plugins: [babel({ |
||||
presets: [['es2015', { |
||||
modules: false |
||||
}]], |
||||
plugins: [ |
||||
'external-helpers' |
||||
] |
||||
})] |
||||
}; |
@ -0,0 +1,97 @@
|
||||
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/); |
||||
}); |
||||
}); |
Loading…
Reference in new issue