From cea0fb7058918a6d81839987e9974d22790bdf34 Mon Sep 17 00:00:00 2001 From: Robert Konigsberg Date: Wed, 13 Jun 2012 18:35:59 -0400 Subject: [PATCH] Moving the new missing-points tests to their own test case. --- auto_tests/misc/local.html | 1 + auto_tests/tests/missing_points.js | 113 +++++++++++++++++++++++++++++++++++++ auto_tests/tests/simple_drawing.js | 73 ------------------------ 3 files changed, 114 insertions(+), 73 deletions(-) create mode 100644 auto_tests/tests/missing_points.js diff --git a/auto_tests/misc/local.html b/auto_tests/misc/local.html index e9feab4..076e3ec 100644 --- a/auto_tests/misc/local.html +++ b/auto_tests/misc/local.html @@ -24,6 +24,7 @@ + diff --git a/auto_tests/tests/missing_points.js b/auto_tests/tests/missing_points.js new file mode 100644 index 0000000..9e4cdd5 --- /dev/null +++ b/auto_tests/tests/missing_points.js @@ -0,0 +1,113 @@ +// Copyright (c) 2012 Google, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +/** + * @fileoverview Test cases for drawing lines with missing points. + * + * @author konigsberg@google.com (Robert Konigsberg) + */ +var ZERO_TO_FIFTY = [[ 10, 0 ] , [ 20, 50 ]]; + +var MissingPointsTestCase = TestCase("missing-points"); + +var _origFunc = Dygraph.getContext; +MissingPointsTestCase.prototype.setUp = function() { + document.body.innerHTML = "
"; + Dygraph.getContext = function(canvas) { + return new Proxy(_origFunc(canvas)); + } +}; + +MissingPointsTestCase.prototype.tearDown = function() { + Dygraph.getContext = _origFunc; +}; + +MissingPointsTestCase.prototype.testSeparatedPointsDontDraw = function() { + var graph = document.getElementById("graph"); + var g = new Dygraph( + graph, + [[1, 10, 11], + [2, 11, null], + [3, 12, 13]], + { colors: ['red', 'blue']}); + var htx = g.hidden_ctx_; + assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000')); + assertEquals(0, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); +} + +MissingPointsTestCase.prototype.testSeparatedPointsDontDraw_expanded = function() { + var graph = document.getElementById("graph"); + var g = new Dygraph( + graph, + [[0, 10], + [1, 11], + [2, null], + [3, 13], + [4, 14]], + { colors: ['blue']}); + var htx = g.hidden_ctx_; + /* + var num_lines = 0; + var lines = CanvasAssertions.getLinesDrawn(htx); + for (var idx = 0; idx < lines.length; idx++) { + var line = lines[idx]; + var color = line[1].properties.strokeStyle; + if (color === "#ff0000" || color === "#0000ff") { + console.log(line[0].args, line[1].args, color); + } + } + */ + + assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); + CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212], + { strokeStyle: '#0000ff', }); + CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25], + { strokeStyle: '#0000ff', }); +} + +MissingPointsTestCase.prototype.testSeparatedPointsDontDraw_expanded_connected = function() { + var graph = document.getElementById("graph"); + var g = new Dygraph( + graph, + [[0, 10], + [1, 11], + [2, null], + [3, 13], + [4, 14]], + { colors: ['blue'], connectSeparatedPoints: true}); + var htx = g.hidden_ctx_; + var num_lines = 0; + var lines = CanvasAssertions.getLinesDrawn(htx); + for (var idx = 0; idx < lines.length; idx++) { + var line = lines[idx]; + var color = line[1].properties.strokeStyle; + if (color === "#ff0000" || color === "#0000ff") { + console.log(line[0].args, line[1].args, color); + } + } + + assertEquals(3, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); + CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212], + { strokeStyle: '#0000ff', }); + CanvasAssertions.assertLineDrawn(htx, [161, 212], [370, 87], + { strokeStyle: '#0000ff', }); + CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25], + { strokeStyle: '#0000ff', }); +} diff --git a/auto_tests/tests/simple_drawing.js b/auto_tests/tests/simple_drawing.js index 6bafa0d..b2ddccf 100644 --- a/auto_tests/tests/simple_drawing.js +++ b/auto_tests/tests/simple_drawing.js @@ -90,76 +90,3 @@ SimpleDrawingTestCase.prototype.testDrawSimpleDash = function() { assertEquals(29, CanvasAssertions.numLinesDrawn(htx, "#ff0000")); CanvasAssertions.assertBalancedSaveRestore(htx); }; - -SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw = function() { - var graph = document.getElementById("graph"); - var g = new Dygraph( - graph, - [[1, 10, 11], - [2, 11, null], - [3, 12, 13]], - { colors: ['red', 'blue']}); - var htx = g.hidden_ctx_; - assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000')); - assertEquals(0, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); -} - -SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw_expanded = function() { - var graph = document.getElementById("graph"); - var g = new Dygraph( - graph, - [[0, 10], - [1, 11], - [2, null], - [3, 13], - [4, 14]], - { colors: ['blue']}); - var htx = g.hidden_ctx_; - /* - var num_lines = 0; - var lines = CanvasAssertions.getLinesDrawn(htx); - for (var idx = 0; idx < lines.length; idx++) { - var line = lines[idx]; - var color = line[1].properties.strokeStyle; - if (color === "#ff0000" || color === "#0000ff") { - console.log(line[0].args, line[1].args, color); - } - } - */ - - assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); - CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212], - { strokeStyle: '#0000ff', }); - CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25], - { strokeStyle: '#0000ff', }); -} - -SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw_expanded_connected = function() { - var graph = document.getElementById("graph"); - var g = new Dygraph( - graph, - [[0, 10], - [1, 11], - [2, null], - [3, 13], - [4, 14]], - { colors: ['blue'], connectSeparatedPoints: true}); - var htx = g.hidden_ctx_; - var num_lines = 0; - var lines = CanvasAssertions.getLinesDrawn(htx); - for (var idx = 0; idx < lines.length; idx++) { - var line = lines[idx]; - var color = line[1].properties.strokeStyle; - if (color === "#ff0000" || color === "#0000ff") { - console.log(line[0].args, line[1].args, color); - } - } - - assertEquals(3, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); - CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212], - { strokeStyle: '#0000ff', }); - CanvasAssertions.assertLineDrawn(htx, [161, 212], [370, 87], - { strokeStyle: '#0000ff', }); - CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25], - { strokeStyle: '#0000ff', }); -} -- 2.7.4