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.
77 lines
2.4 KiB
77 lines
2.4 KiB
import { initChart } from './c3-helper' |
|
|
|
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], |
|
['my\u007fapp', 10, 20, 40, 20, 65, 55] |
|
] |
|
} |
|
} |
|
|
|
beforeEach(function(done) { |
|
chart = 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('select target in 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) |
|
}) |
|
|
|
it('should be able to select class with unicode characters', () => { |
|
const selector = `.c3-target${chart.internal.getTargetSelectorSuffix( |
|
args.data.columns[3][0] |
|
)}` |
|
|
|
expect(chart.internal.main.select(selector).size()).toBe(1) |
|
}) |
|
}) |
|
})
|
|
|