From: Evert Timberg Date: Thu, 28 Apr 2016 01:24:13 +0000 (-0400) Subject: Remove bad tests from linear scale X-Git-Tag: 2.1.0~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7aa1463c1570507b337a14faa9166f78ddfa4f25;p=thirdparty%2FChart.js.git Remove bad tests from linear scale --- diff --git a/test/scale.linear.tests.js b/test/scale.linear.tests.js index 3a508cc01..ff783a229 100644 --- a/test/scale.linear.tests.js +++ b/test/scale.linear.tests.js @@ -658,18 +658,18 @@ describe('Linear Scale', function() { }); var xScale = chartInstance.scales.xScale0; - expect(xScale.paddingTop).toBe(0); - expect(xScale.paddingBottom).toBe(0); - expect(xScale.paddingLeft).toBe(0); - expect(xScale.paddingRight).toBe(13.5); + expect(xScale.paddingTop).toBeCloseToPixel(0); + expect(xScale.paddingBottom).toBeCloseToPixel(0); + expect(xScale.paddingLeft).toBeCloseToPixel(0); + expect(xScale.paddingRight).toBeCloseToPixel(13.5); expect(xScale.width).toBeCloseToPixel(471); expect(xScale.height).toBeCloseToPixel(28); var yScale = chartInstance.scales.yScale0; - expect(yScale.paddingTop).toBe(0); - expect(yScale.paddingBottom).toBe(0); - expect(yScale.paddingLeft).toBe(0); - expect(yScale.paddingRight).toBe(0); + expect(yScale.paddingTop).toBeCloseToPixel(0); + expect(yScale.paddingBottom).toBeCloseToPixel(0); + expect(yScale.paddingLeft).toBeCloseToPixel(0); + expect(yScale.paddingRight).toBeCloseToPixel(0); expect(yScale.width).toBeCloseToPixel(41); expect(yScale.height).toBeCloseToPixel(452); @@ -678,1116 +678,18 @@ describe('Linear Scale', function() { yScale.options.scaleLabel.display = true; chartInstance.update(); - expect(xScale.paddingTop).toBe(0); - expect(xScale.paddingBottom).toBe(0); - expect(xScale.paddingLeft).toBe(0); - expect(xScale.paddingRight).toBe(13.5); + expect(xScale.paddingTop).toBeCloseToPixel(0); + expect(xScale.paddingBottom).toBeCloseToPixel(0); + expect(xScale.paddingLeft).toBeCloseToPixel(0); + expect(xScale.paddingRight).toBeCloseToPixel(13.5); expect(xScale.width).toBeCloseToPixel(453); expect(xScale.height).toBeCloseToPixel(46); - expect(yScale.paddingTop).toBe(0); - expect(yScale.paddingBottom).toBe(0); - expect(yScale.paddingLeft).toBe(0); - expect(yScale.paddingRight).toBe(0); + expect(yScale.paddingTop).toBeCloseToPixel(0); + expect(yScale.paddingBottom).toBeCloseToPixel(0); + expect(yScale.paddingLeft).toBeCloseToPixel(0); + expect(yScale.paddingRight).toBeCloseToPixel(0); expect(yScale.width).toBeCloseToPixel(59); expect(yScale.height).toBeCloseToPixel(434); }); - - it('Should draw correctly horizontally', function() { - chartInstance = window.acquireChart({ - type: 'line', - data: { - datasets: [{ - xAxisID: 'xScale0', - yAxisID: 'yScale0', - data: [{ - x: 10, - y: -5 - }, { - x: -10, - y: 0 - }, { - x: 0, - y: 2 - }, { - x: 99, - y: -3 - }] - }], - }, - options: { - scales: { - xAxes: [{ - id: 'xScale0', - type: 'linear', - position: 'bottom' - }], - yAxes: [{ - id: 'yScale0', - type: 'linear' - }] - } - } - }); - - var xScale = chartInstance.scales.xScale0; - var mockContext = window.createMockContext(); - xScale.ctx = mockContext; - - chartInstance.draw(); - - var expected = [{ - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31.5, 484] - }, { - "name": "lineTo", - "args": [31.5, 494] - }, { - "name": "moveTo", - "args": [31.5, 32] - }, { - "name": "lineTo", - "args": [31.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [31, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-20", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0,0,0,0.25)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [109.5, 484] - }, { - "name": "lineTo", - "args": [109.5, 494] - }, { - "name": "moveTo", - "args": [109.5, 32] - }, { - "name": "lineTo", - "args": [109.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [109, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["0", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [187.5, 484] - }, { - "name": "lineTo", - "args": [187.5, 494] - }, { - "name": "moveTo", - "args": [187.5, 32] - }, { - "name": "lineTo", - "args": [187.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [187, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["20", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [265.5, 484] - }, { - "name": "lineTo", - "args": [265.5, 494] - }, { - "name": "moveTo", - "args": [265.5, 32] - }, { - "name": "lineTo", - "args": [265.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [265, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["40", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [343.5, 484] - }, { - "name": "lineTo", - "args": [343.5, 494] - }, { - "name": "moveTo", - "args": [343.5, 32] - }, { - "name": "lineTo", - "args": [343.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [343, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["60", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [421.5, 484] - }, { - "name": "lineTo", - "args": [421.5, 494] - }, { - "name": "moveTo", - "args": [421.5, 32] - }, { - "name": "lineTo", - "args": [421.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [421, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["80", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [499.5, 484] - }, { - "name": "lineTo", - "args": [499.5, 494] - }, { - "name": "moveTo", - "args": [499.5, 32] - }, { - "name": "lineTo", - "args": [499.5, 484] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [499, 494] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["100", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31, 484.5] - }, { - "name": "lineTo", - "args": [512, 484.5] - }, { - "name": "stroke", - "args": [] - }]; - expect(mockContext.getCalls()).toEqual(expected); - - // Turn off some drawing - xScale.options.gridLines.drawTicks = false; - xScale.options.gridLines.drawOnChartArea = false; - xScale.options.ticks.display = false; - xScale.options.scaleLabel.display = true; - xScale.options.scaleLabel.labelString = 'myLabel'; - - mockContext.resetCalls(); - - chartInstance.draw(); - expect(mockContext.getCalls()).toEqual([{ - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0,0,0,0.25)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "fillText", - "args": ["myLabel", 271.5, 506] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31, 484.5] - }, { - "name": "lineTo", - "args": [512, 484.5] - }, { - "name": "stroke", - "args": [] - }]); - - // Turn off display - - mockContext.resetCalls(); - xScale.options.display = false; - chartInstance.draw(); - expect(mockContext.getCalls()).toEqual([]); - }); - - it('Should draw correctly vertically', function() { - chartInstance = window.acquireChart({ - type: 'line', - data: { - datasets: [{ - xAxisID: 'xScale0', - yAxisID: 'yScale0', - data: [{ - x: 10, - y: -5 - }, { - x: -10, - y: 0 - }, { - x: 0, - y: 2 - }, { - x: 99, - y: -3 - }] - }], - }, - options: { - scales: { - xAxes: [{ - id: 'xScale0', - type: 'linear', - position: 'bottom' - }], - yAxes: [{ - id: 'yScale0', - type: 'linear' - }] - } - } - }); - - var yScale = chartInstance.scales.yScale0; - var mockContext = window.createMockContext(); - yScale.ctx = mockContext; - - chartInstance.draw(); - - expect(mockContext.getCalls()).toEqual([{ - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 32.5] - }, { - "name": "lineTo", - "args": [31, 32.5] - }, { - "name": "moveTo", - "args": [31, 32.5] - }, { - "name": "lineTo", - "args": [512, 32.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 32] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["2", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 97.5] - }, { - "name": "lineTo", - "args": [31, 97.5] - }, { - "name": "moveTo", - "args": [31, 97.5] - }, { - "name": "lineTo", - "args": [512, 97.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 97] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["1", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0,0,0,0.25)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 161.5] - }, { - "name": "lineTo", - "args": [31, 161.5] - }, { - "name": "moveTo", - "args": [31, 161.5] - }, { - "name": "lineTo", - "args": [512, 161.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 161] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["0", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 226.5] - }, { - "name": "lineTo", - "args": [31, 226.5] - }, { - "name": "moveTo", - "args": [31, 226.5] - }, { - "name": "lineTo", - "args": [512, 226.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 226] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-1", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 290.5] - }, { - "name": "lineTo", - "args": [31, 290.5] - }, { - "name": "moveTo", - "args": [31, 290.5] - }, { - "name": "lineTo", - "args": [512, 290.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 290] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-2", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 355.5] - }, { - "name": "lineTo", - "args": [31, 355.5] - }, { - "name": "moveTo", - "args": [31, 355.5] - }, { - "name": "lineTo", - "args": [512, 355.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 355] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-3", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 419.5] - }, { - "name": "lineTo", - "args": [31, 419.5] - }, { - "name": "moveTo", - "args": [31, 419.5] - }, { - "name": "lineTo", - "args": [512, 419.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 419] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-4", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 484.5] - }, { - "name": "lineTo", - "args": [31, 484.5] - }, { - "name": "moveTo", - "args": [31, 484.5] - }, { - "name": "lineTo", - "args": [512, 484.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 484] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-5", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31.5, 32] - }, { - "name": "lineTo", - "args": [31.5, 484] - }, { - "name": "stroke", - "args": [] - }]); - - // Turn off some drawing - yScale.options.gridLines.drawTicks = false; - yScale.options.gridLines.drawOnChartArea = false; - yScale.options.ticks.display = false; - yScale.options.scaleLabel.display = true; - - mockContext.resetCalls(); - chartInstance.draw(); - - expect(mockContext.getCalls()).toEqual([{ - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0,0,0,0.25)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [6, 258] - }, { - "name": "rotate", - "args": [-1.5707963267948966] - }, { - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "fillText", - "args": ["", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31.5, 32] - }, { - "name": "lineTo", - "args": [31.5, 484] - }, { - "name": "stroke", - "args": [] - }]); - }); - - it("should not draw lines where the callback function returned null or undefined", function() { - chartInstance = window.acquireChart({ - type: 'line', - data: { - datasets: [{ - xAxisID: 'xScale0', - yAxisID: 'yScale0', - data: [{ - x: 10, - y: -5 - }, { - x: -10, - y: 0 - }, { - x: 0, - y: 2 - }, { - x: 99, - y: -3 - }] - }], - }, - options: { - scales: { - xAxes: [{ - id: 'xScale0', - type: 'linear', - position: 'bottom' - }], - yAxes: [{ - id: 'yScale0', - type: 'linear', - ticks: { - callback: function(tickValue, index) { - return index % 2 === 0 ? null : tickValue.toString(); - } - } - }] - } - } - }); - - var yScale = chartInstance.scales.yScale0; - var mockContext = window.createMockContext(); - yScale.ctx = mockContext; - - chartInstance.draw(); - - expect(mockContext.getCalls()).toEqual([{ - "name": "setFillStyle", - "args": ["#666"] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 97.5] - }, { - "name": "lineTo", - "args": [31, 97.5] - }, { - "name": "moveTo", - "args": [31, 97.5] - }, { - "name": "lineTo", - "args": [512, 97.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 97] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["1", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 226.5] - }, { - "name": "lineTo", - "args": [31, 226.5] - }, { - "name": "moveTo", - "args": [31, 226.5] - }, { - "name": "lineTo", - "args": [512, 226.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 226] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-1", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 355.5] - }, { - "name": "lineTo", - "args": [31, 355.5] - }, { - "name": "moveTo", - "args": [31, 355.5] - }, { - "name": "lineTo", - "args": [512, 355.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 355] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-3", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [26, 484.5] - }, { - "name": "lineTo", - "args": [31, 484.5] - }, { - "name": "moveTo", - "args": [31, 484.5] - }, { - "name": "lineTo", - "args": [512, 484.5] - }, { - "name": "stroke", - "args": [] - }, { - "name": "save", - "args": [] - }, { - "name": "translate", - "args": [21, 484] - }, { - "name": "rotate", - "args": [-0] - }, { - "name": "fillText", - "args": ["-5", 0, 0] - }, { - "name": "restore", - "args": [] - }, { - "name": "setLineWidth", - "args": [1] - }, { - "name": "setStrokeStyle", - "args": ["rgba(0, 0, 0, 0.1)"] - }, { - "name": "beginPath", - "args": [] - }, { - "name": "moveTo", - "args": [31.5, 32] - }, { - "name": "lineTo", - "args": [31.5, 484] - }, { - "name": "stroke", - "args": [] - }]) - }); });