mirror of https://github.com/masayuki0812/c3.git
Masayuki Tanaka
10 years ago
7 changed files with 140 additions and 6 deletions
@ -0,0 +1,67 @@
|
||||
describe('c3 chart title', function () { |
||||
'use strict'; |
||||
var chart, config; |
||||
describe('when given a title config option', function () { |
||||
describe('with no x or y value', 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-chart-title"); |
||||
expect(titleEl.attr("x")).toEqual('0'); |
||||
expect(titleEl.attr("y")).toEqual(titleEl.node().getBBox().height.toString()); |
||||
}); |
||||
|
||||
it('renders the title text', function () { |
||||
var titleEl = d3.select(".c3-chart-title"); |
||||
expect(titleEl.node().textContent).toEqual('new title'); |
||||
}); |
||||
}); |
||||
|
||||
describe('with x and y values', function () {
|
||||
beforeEach(function(done) { |
||||
config = { |
||||
data: { |
||||
columns: [ |
||||
['data1', 30, 200, 100, 400, 150, 250] |
||||
] |
||||
}, |
||||
title: { |
||||
text: 'positioned title', |
||||
x: 50, |
||||
y: 10 |
||||
} |
||||
}; |
||||
chart = window.initChart(chart, config, done); |
||||
}); |
||||
|
||||
it('renders the title at the default config position', function () { |
||||
var titleEl = d3.select(".c3-chart-title"); |
||||
expect(titleEl.attr("x")).toEqual('50'); |
||||
expect(titleEl.attr("y")).toEqual('10'); |
||||
}); |
||||
|
||||
it('renders the title text', function () { |
||||
var titleEl = d3.select(".c3-chart-title"); |
||||
expect(titleEl.node().textContent).toEqual('positioned title'); |
||||
}); |
||||
|
||||
it('adds the correct amount of padding to fit the title', function() { |
||||
expect(chart.internal.getCurrentPaddingTop()).toEqual( |
||||
config.title.y + d3.select('.c3-chart-title').node().getBBox().height |
||||
); |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
@ -0,0 +1,15 @@
|
||||
c3_chart_internal_fn.initTitle = function () { |
||||
var $$ = this; |
||||
$$.title = $$.svg.append("text") |
||||
.text($$.config.title_text) |
||||
.attr("class", "c3-chart-title") |
||||
.attr("x", $$.config.title_x) |
||||
.attr("y", $$.config.title_y); |
||||
}; |
||||
|
||||
c3_chart_internal_fn.redrawTitle = function () { |
||||
var $$ = this; |
||||
$$.title |
||||
.attr("x", $$.config.title_x) |
||||
.attr("y", $$.config.title_y || $$.title.node().getBBox().height); |
||||
}; |
Loading…
Reference in new issue