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
3.8 KiB
98 lines
3.8 KiB
describe('c3 chart title', function () { |
|
'use strict'; |
|
|
|
var chart, config; |
|
|
|
describe('when given a title config option', function () { |
|
describe('with no padding and no position', function () { |
|
beforeEach(function(done) { |
|
config = { |
|
data: { |
|
columns: [ |
|
['data1', 30, 200, 100, 400, 150, 250] |
|
] |
|
}, |
|
title: { |
|
text: 'new title' |
|
} |
|
}; |
|
chart = window.initChart(chart, config, done); |
|
}); |
|
|
|
it('renders the title at the default config position', function () { |
|
var titleEl = d3.select(".c3-title"); |
|
expect(+titleEl.attr("x")).toBeCloseTo(294, -2); |
|
expect(+titleEl.attr("y")).toEqual(titleEl.node().getBBox().height); |
|
}); |
|
|
|
it('renders the title text', function () { |
|
var titleEl = d3.select(".c3-title"); |
|
expect(titleEl.node().textContent).toEqual('new title'); |
|
}); |
|
}); |
|
|
|
describe('with padding', function () { |
|
var config, getConfig = function (titlePosition) { |
|
return { |
|
data: { |
|
columns: [ |
|
['data1', 30, 200, 100, 400, 150, 250] |
|
] |
|
}, |
|
title: { |
|
text: 'positioned title', |
|
padding: { |
|
top: 20, |
|
right: 30, |
|
bottom: 40, |
|
left: 50 |
|
}, |
|
position: titlePosition |
|
} |
|
}; |
|
}; |
|
|
|
describe('and position center', function () { |
|
beforeEach(function(done) { |
|
config = getConfig('top-center'); |
|
chart = window.initChart(chart, config, done); |
|
}); |
|
it('renders the title at the default config position', function () { |
|
var titleEl = d3.select(".c3-title"); |
|
expect(+titleEl.attr("x")).toBeCloseTo(275, -2); |
|
expect(+titleEl.attr("y")).toBeCloseTo(34, -1); |
|
}); |
|
it('adds the correct amount of padding to fit the title', function() { |
|
expect(chart.internal.getCurrentPaddingTop()).toEqual( |
|
config.title.padding.top + d3.select('.c3-title').node().getBBox().height + config.title.padding.bottom |
|
); |
|
}); |
|
}); |
|
|
|
describe('and position left', function () { |
|
beforeEach(function(done) { |
|
config = getConfig('top-left'); |
|
chart = window.initChart(chart, config, done); |
|
}); |
|
it('renders the title at the default config position', function () { |
|
var titleEl = d3.select(".c3-title"); |
|
expect(+titleEl.attr("x")).toBeCloseTo(50, -1); |
|
expect(+titleEl.attr("y")).toBeCloseTo(34, -1); |
|
}); |
|
}); |
|
|
|
describe('and position right', function () { |
|
beforeEach(function(done) { |
|
config = getConfig('top-right'); |
|
chart = window.initChart(chart, config, done); |
|
}); |
|
it('renders the title at the default config position', function () { |
|
var titleEl = d3.select(".c3-title"); |
|
expect(+titleEl.attr("x")).toBeCloseTo(520, -2); |
|
expect(+titleEl.attr("y")).toBeCloseTo(34, -1); |
|
}); |
|
}); |
|
|
|
}); |
|
}); |
|
});
|
|
|