X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Fdata_api.js;h=631990980493ad02ccb031f359c57e6b6ebbb9f3;hb=f6e73ea983b61b50a6152c98a9945725eb45edb2;hp=f3180f55eb1faa9d14ad0dc611c8474b94623b8e;hpb=dc836ebb77ab18a402ea4ae590059299d88b0deb;p=dygraphs.git diff --git a/auto_tests/tests/data_api.js b/auto_tests/tests/data_api.js index f3180f5..6319909 100644 --- a/auto_tests/tests/data_api.js +++ b/auto_tests/tests/data_api.js @@ -3,83 +3,85 @@ * * @author danvdk@gmail.com (Dan Vanderkam) */ -var dataApiTestCase = TestCase("data-api"); +import Dygraph from '../../src/dygraph'; +import * as utils from '../../src/dygraph-utils'; +describe("data-api", function() { -dataApiTestCase.prototype.setUp = function() { - document.body.innerHTML = "
"; - this.opts = { +cleanupAfterEach(); + +var opts, graphDiv; + +beforeEach(function() { + opts = { width: 480, height: 320 }; - this.graphDiv = document.getElementById("graph"); -}; + graphDiv = document.getElementById("graph"); +}); -dataApiTestCase.prototype.tearDown = function() { -}; +it('testBasicAccessors', function() { + var g = new Dygraph(graphDiv, temperature_data, opts); -dataApiTestCase.prototype.testBasicAccessors = function() { - var g = new Dygraph(this.graphDiv, temperature_data, this.opts); - - assertEquals(365, g.numRows()); - assertEquals(3, g.numColumns()); + assert.equal(365, g.numRows()); + assert.equal(3, g.numColumns()); // 2007-01-01,62,39 - assertEquals(62, g.getValue(0, 1)); - assertEquals(39, g.getValue(0, 2)); + assert.equal(62, g.getValue(0, 1)); + assert.equal(39, g.getValue(0, 2)); // 2007-12-31,57,42 - assertEquals(57, g.getValue(364, 1)); - assertEquals(42, g.getValue(364, 2)); -}; + assert.equal(57, g.getValue(364, 1)); + assert.equal(42, g.getValue(364, 2)); +}); -dataApiTestCase.prototype.testAccessorsCustomBars = function() { - var g = new Dygraph(this.graphDiv, data_temp_high_low, { +it('testAccessorsCustomBars', function() { + var g = new Dygraph(graphDiv, data_temp_high_low, { customBars: true }); - assertEquals(1070, g.numRows()); - assertEquals(3, g.numColumns()); + assert.equal(1070, g.numRows()); + assert.equal(3, g.numColumns()); // 2007-01-01,46;51;56,43;45;48 - assertEquals([46, 51, 56], g.getValue(0, 1)); - assertEquals([43, 45, 48], g.getValue(0, 2)); + assert.deepEqual([46, 51, 56], g.getValue(0, 1)); + assert.deepEqual([43, 45, 48], g.getValue(0, 2)); // 2009-12-05,37;42;47 (i.e. missing second column) - assertEquals([37, 42, 47], g.getValue(1069, 1)); - assertEquals([null, null, null], g.getValue(1069, 2)); -}; + assert.deepEqual([37, 42, 47], g.getValue(1069, 1)); + assert.deepEqual([null, null, null], g.getValue(1069, 2)); +}); // Regression test for #554. -dataApiTestCase.prototype.testGetRowForX = function() { - var g = new Dygraph(this.graphDiv, [ +it('testGetRowForX', function() { + var g = new Dygraph(graphDiv, [ "x,y", "1,2", "3,4", "5,6", "7,8", "9,10" - ].join('\n'), this.opts); - - assertEquals(null, g.getRowForX(0)); - assertEquals(0, g.getRowForX(1)); - assertEquals(null, g.getRowForX(2)); - assertEquals(1, g.getRowForX(3)); - assertEquals(null, g.getRowForX(4)); - assertEquals(2, g.getRowForX(5)); - assertEquals(null, g.getRowForX(6)); - assertEquals(3, g.getRowForX(7)); - assertEquals(null, g.getRowForX(8)); - assertEquals(4, g.getRowForX(9)); - assertEquals(null, g.getRowForX(10)); -}; + ].join('\n'), opts); + + assert.equal(null, g.getRowForX(0)); + assert.equal(0, g.getRowForX(1)); + assert.equal(null, g.getRowForX(2)); + assert.equal(1, g.getRowForX(3)); + assert.equal(null, g.getRowForX(4)); + assert.equal(2, g.getRowForX(5)); + assert.equal(null, g.getRowForX(6)); + assert.equal(3, g.getRowForX(7)); + assert.equal(null, g.getRowForX(8)); + assert.equal(4, g.getRowForX(9)); + assert.equal(null, g.getRowForX(10)); +}); // If there are rows with identical x-values, getRowForX promises that it will // return the first one. -dataApiTestCase.prototype.testGetRowForXDuplicates = function() { - var g = new Dygraph(this.graphDiv, [ +it('testGetRowForXDuplicates', function() { + var g = new Dygraph(graphDiv, [ "x,y", "1,2", // 0 "1,4", // 1 @@ -91,9 +93,28 @@ dataApiTestCase.prototype.testGetRowForXDuplicates = function() { "9,6", "9,8", "9,10" - ].join('\n'), this.opts); - - assertEquals(0, g.getRowForX(1)); - assertEquals(null, g.getRowForX(2)); - assertEquals(5, g.getRowForX(9)); -}; + ].join('\n'), opts); + + assert.equal(0, g.getRowForX(1)); + assert.equal(null, g.getRowForX(2)); + assert.equal(5, g.getRowForX(9)); +}); + +// indexFromSeriesName should return a value even if the series is invisible +// In 1.1.1, if you request the last set and it's invisible, the method returns undefined. +it('testIndexFromSetNameOnInvisibleSet', function() { + + var localOpts = utils.clone(opts); + localOpts.visibility = [true, false]; + + var g = new Dygraph(graphDiv, [ + "x,y1,y2", + "1,1,1", + "2,2,2", + "3,3,3" + ].join('\n'), localOpts); + + assert.equal(2, g.indexFromSetName("y2")); +}); + +});