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
4.0 KiB
97 lines
4.0 KiB
describe('c3 chart arc', function () { |
|
'use strict'; |
|
|
|
var chart, args; |
|
|
|
beforeEach(function (done) { |
|
chart = window.initChart(chart, args, done); |
|
}); |
|
|
|
describe('show pie chart', function () { |
|
|
|
it('should update args to have pie chart', function () { |
|
args = { |
|
data: { |
|
columns: [ |
|
['data1', 30], |
|
['data2', 150], |
|
['data3', 120] |
|
], |
|
type: 'pie' |
|
} |
|
}; |
|
expect(true).toBeTruthy(); |
|
}); |
|
|
|
it('should have correct classes', function () { |
|
var chartArc = d3.select('.c3-chart-arcs'), |
|
arcs = { |
|
data1: chartArc.select('.c3-chart-arc.c3-target.c3-target-data1') |
|
.select('g.c3-shapes.c3-shapes-data1.c3-arcs.c3-arcs-data1') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data1'), |
|
data2: chartArc.select('.c3-chart-arc.c3-target.c3-target-data2') |
|
.select('g.c3-shapes.c3-shapes-data2.c3-arcs.c3-arcs-data2') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data2'), |
|
data3: chartArc.select('.c3-chart-arc.c3-target.c3-target-data3') |
|
.select('g.c3-shapes.c3-shapes-data3.c3-arcs.c3-arcs-data3') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data3') |
|
}; |
|
expect(arcs.data1.size()).toBe(1); |
|
expect(arcs.data2.size()).toBe(1); |
|
expect(arcs.data3.size()).toBe(1); |
|
}); |
|
|
|
it('should have correct d', function () { |
|
expect(d3.select('.c3-arc-data1').attr('d')).toMatch(/M-124\..+,-171\..+A211\..+,211\..+ 0 0,1 -3\..+,-211\..+L0,0Z/); |
|
expect(d3.select('.c3-arc-data2').attr('d')).toMatch(/M1\..+,-211\..+A211\..+,211\..+ 0 0,1 1\..+,211\..+L0,0Z/); |
|
expect(d3.select('.c3-arc-data3').attr('d')).toMatch(/M1\..+,211\..+A211\..+,211\..+ 0 0,1 -124\..+,-171\..+L0,0Z/); |
|
}); |
|
|
|
it('should set args with data id that can be converted to a color', function () { |
|
args.data.columns = [ |
|
['black', 30], |
|
['data2', 150], |
|
['data3', 120] |
|
]; |
|
expect(true).toBeTruthy(); |
|
}); |
|
|
|
it('should have correct d even if data id can be converted to a color', function () { |
|
expect(d3.select('.c3-arc-black').attr('d')).toMatch(/M-124\..+,-171\..+A211\..+,211\..+ 0 0,1 -3\..+,-211\..+L0,0Z/); |
|
}); |
|
|
|
it('should update args to have empty pie chart', function () { |
|
args = { |
|
data: { |
|
columns: [ |
|
['data1', null], |
|
['data2', null], |
|
['data3', null] |
|
], |
|
type: 'pie' |
|
} |
|
}; |
|
expect(true).toBeTruthy(); |
|
}); |
|
|
|
it('should have correct d attribute', function () { |
|
var chartArc = d3.select('.c3-chart-arcs'), |
|
arcs = { |
|
data1: chartArc.select('.c3-chart-arc.c3-target.c3-target-data1') |
|
.select('g.c3-shapes.c3-shapes-data1.c3-arcs.c3-arcs-data1') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data1'), |
|
data2: chartArc.select('.c3-chart-arc.c3-target.c3-target-data2') |
|
.select('g.c3-shapes.c3-shapes-data2.c3-arcs.c3-arcs-data2') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data2'), |
|
data3: chartArc.select('.c3-chart-arc.c3-target.c3-target-data3') |
|
.select('g.c3-shapes.c3-shapes-data3.c3-arcs.c3-arcs-data3') |
|
.select('path.c3-shape.c3-shape.c3-arc.c3-arc-data3') |
|
}; |
|
expect(arcs.data1.attr('d').indexOf('NaN')).toBe(-1); |
|
expect(arcs.data2.attr('d').indexOf('NaN')).toBe(-1); |
|
expect(arcs.data3.attr('d').indexOf('NaN')).toBe(-1); |
|
}); |
|
|
|
}); |
|
|
|
});
|
|
|