| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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)
- })
- })
- })
|