| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import { d3, initChart } from './c3-helper'
- describe('c3 api axis', function() {
- 'use strict'
- var chart, args
- beforeEach(function(done) {
- chart = initChart(chart, args, done)
- })
- describe('axis.labels', function() {
- beforeAll(function() {
- args = {
- data: {
- columns: [
- ['data1', 30, 200, 100],
- ['data2', 50, 20, 10]
- ],
- axes: {
- data1: 'y',
- data2: 'y2'
- }
- },
- axis: {
- y: {
- label: 'Y Axis Label'
- },
- y2: {
- show: true,
- label: 'Y2 Axis Label'
- }
- }
- }
- })
- it('updates y axis label', function() {
- chart.axis.labels({ y: 'New Y Axis Label' })
- var label = d3.select('.c3-axis-y-label')
- expect(label.text()).toBe('New Y Axis Label')
- expect(label.attr('dx')).toBe('-0.5em')
- expect(label.attr('dy')).toBe('1.2em')
- })
- it('updates y axis label', function() {
- chart.axis.labels({ y2: 'New Y2 Axis Label' })
- var label = d3.select('.c3-axis-y2-label')
- expect(label.text()).toBe('New Y2 Axis Label')
- expect(label.attr('dx')).toBe('-0.5em')
- expect(label.attr('dy')).toBe('-0.5em')
- })
- it('updates axis max values', function() {
- chart.axis.max({ x: 100, y: 300, y2: 100 })
- var max_values = chart.axis.max()
- expect(max_values.x).toBe(100)
- expect(max_values.y).toBe(300)
- expect(max_values.y2).toBe(100)
- })
- it('updates axis min values', function() {
- chart.axis.min({ x: 0, y: 20, y2: 50 })
- var min_values = chart.axis.min()
- expect(min_values.x).toBe(0)
- expect(min_values.y).toBe(20)
- expect(min_values.y2).toBe(50)
- })
- it('updates axis range', function() {
- chart.axis.range({ min: 5, max: 250 })
- var range = chart.axis.range()
- expect(range.max.y).toBe(250)
- expect(range.min.y).toBe(5)
- })
- })
- describe('axis.types', function() {
- beforeAll(function() {
- args = {
- data: {
- columns: [
- ['data1', 30, 200, 100],
- ['data2', 30, 200, 100]
- ],
- axes: {
- data1: 'y',
- data2: 'y2'
- }
- },
- axis: {
- y: {
- label: 'Y Axis Label'
- },
- y2: {
- show: true,
- type: 'log',
- label: 'Y2 Axis Label'
- }
- }
- }
- })
- it('retrieves y/y2 axis types', function() {
- expect(chart.axis.types()).toEqual({
- y: 'linear',
- y2: 'log'
- })
- const linearDomain = chart.internal.y.domain()
- const logDomain = chart.internal.y2.domain()
- chart.axis.types({
- y: 'log',
- y2: 'linear'
- })
- expect(chart.internal.y2.domain()).toEqual(linearDomain)
- expect(chart.internal.y.domain()).toEqual(logDomain)
- expect(chart.axis.types()).toEqual({
- y: 'log',
- y2: 'linear'
- })
- })
- })
- })
|