|
|
|
describe('c3 chart domain', function () {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var chart;
|
|
|
|
|
|
|
|
var args = {
|
|
|
|
data: {
|
|
|
|
columns: [
|
|
|
|
['data1', 30, 200, 100, 400, 150, 250],
|
|
|
|
['data2', 50, 20, 10, 40, 15, 25]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
axis: {
|
|
|
|
y: {},
|
|
|
|
y2: {}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
beforeEach(function (done) {
|
|
|
|
chart = window.initChart(chart, args, done);
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('axis.y.min', function () {
|
|
|
|
|
|
|
|
describe('should change axis.y.min to -100', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args.axis.y.min = -100;
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when smaller than max of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBe(-150);
|
|
|
|
expect(domain[1]).toBe(450);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('should change axis.y.min to 500', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args.axis.y.min = 500;
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when bigger than max of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBe(499);
|
|
|
|
expect(domain[1]).toBe(511);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
afterAll(function(){
|
|
|
|
args.axis.y.min = undefined;
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('axis.y.max', function () {
|
|
|
|
describe('should change axis.y.max to 1000', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args.axis.y.max = 1000;
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when bigger than min of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBe(-89);
|
|
|
|
expect(domain[1]).toBe(1099);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('should change axis.y.max to 0', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args.axis.y.max = 0;
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when smaller than min of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBe(-11);
|
|
|
|
expect(domain[1]).toBe(1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('axis.y.padding', function () {
|
|
|
|
|
|
|
|
describe('should change axis.y.max to 1000', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args = {
|
|
|
|
data: {
|
|
|
|
columns: [
|
|
|
|
['data1', 10, 20, 10, 40, 15, 25],
|
|
|
|
['data2', 50, 40, 30, 45, 25, 45]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
axis: {
|
|
|
|
y: {
|
|
|
|
padding: 200,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when bigger than min of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBeCloseTo(-9, -1);
|
|
|
|
expect(domain[1]).toBeCloseTo(69, -1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
describe('should change axis.y.max to 1000 with top/bottom padding', function () {
|
|
|
|
beforeAll(function(){
|
|
|
|
args = {
|
|
|
|
data: {
|
|
|
|
columns: [
|
|
|
|
['data1', 10, 20, 10, 40, 15, 25],
|
|
|
|
['data2', 50, 40, 30, 45, 25, 45]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
axis: {
|
|
|
|
y: {
|
|
|
|
padding: {
|
|
|
|
top: 200,
|
|
|
|
bottom: 200
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should be set properly when bigger than min of data', function () {
|
|
|
|
var domain = chart.internal.y.domain();
|
|
|
|
expect(domain[0]).toBeCloseTo(-9, -1);
|
|
|
|
expect(domain[1]).toBeCloseTo(69, -1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|