|
|
|
describe('c3 chart class', function () {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var chart;
|
|
|
|
|
|
|
|
var args = {
|
|
|
|
data: {
|
|
|
|
columns: [
|
|
|
|
['data1', 30, 200, 100, 400, 150, 250],
|
|
|
|
['data2 prefix', 50, 20, 10, 40, 15, 25],
|
|
|
|
['data3 мужчины', 150, 120, 110, 140, 115, 125]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
beforeEach(function (done) {
|
|
|
|
chart = window.initChart(chart, args, done);
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('internal.generateTargetClass', function () {
|
|
|
|
|
|
|
|
it('should not replace any characters', function () {
|
|
|
|
var input = 'data1',
|
|
|
|
expected = '-' + input,
|
|
|
|
suffix = chart.internal.generateTargetClass(input);
|
|
|
|
expect(suffix).toBe(expected);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should replace space to "-"', function () {
|
|
|
|
var input = 'data1 suffix',
|
|
|
|
expected = '-data1-suffix',
|
|
|
|
suffix = chart.internal.generateTargetClass(input);
|
|
|
|
expect(suffix).toBe(expected);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should replace space to "-" with multibyte characters', function () {
|
|
|
|
var input = 'data1 suffix 日本語',
|
|
|
|
expected = '-data1-suffix-日本語',
|
|
|
|
suffix = chart.internal.generateTargetClass(input);
|
|
|
|
expect(suffix).toBe(expected);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should not replace special characters', function () {
|
|
|
|
var input = 'data1 !@#$%^&*()_=+,.<>"\':;[]/|?~`{}\\',
|
|
|
|
expected = '-data1-!@#$%^&*()_=+,.<>"\':;[]/|?~`{}\\',
|
|
|
|
suffix = chart.internal.generateTargetClass(input);
|
|
|
|
expect(suffix).toBe(expected);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('internal.getTargetSelectorSuffix', function () {
|
|
|
|
|
|
|
|
it('should escape special characters', function () {
|
|
|
|
var input = 'data1 !@#$%^&*()_=+,.<>"\':;[]/|?~`{}\\',
|
|
|
|
expected = '-data1-\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\=\\+\\,\\.\\<\\>\\"\\\'\\:\\;\\[\\]\\/\\|\\?\\~\\`\\{\\}\\\\',
|
|
|
|
suffix = chart.internal.getTargetSelectorSuffix(input);
|
|
|
|
expect(suffix).toBe(expected);
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('multibyte characters on chart', function () {
|
|
|
|
|
|
|
|
it('should replace space to "-" with multibyte characters', function () {
|
|
|
|
var selector = '.c3-target-data3-мужчины';
|
|
|
|
expect(chart.internal.main.select(selector).size()).toBe(1);
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|