X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Futils_test.js;h=6d96e26e1b197b10489e04c6c41e2e941aa71f9e;hb=ce31caf22475e3e1fd6d9fea192d61ff4fcd7fac;hp=9c8974c432b67cf7864e2b7b4916275acc6a7778;hpb=856c1ffb22b098041a7ab1a7cb8e2b6a146722b2;p=dygraphs.git diff --git a/auto_tests/tests/utils_test.js b/auto_tests/tests/utils_test.js index 9c8974c..6d96e26 100644 --- a/auto_tests/tests/utils_test.js +++ b/auto_tests/tests/utils_test.js @@ -4,59 +4,61 @@ * @author danvdk@gmail.com (Dan Vanderkam) */ -var UtilsTestCase = TestCase("utils-tests"); +import * as utils from '../../src/dygraph-utils'; -UtilsTestCase.prototype.testUpdate = function() { +describe("utils-tests", function() { + +it('testUpdate', function() { var a = { a: 1, b: [1, 2, 3], c: { x: 1, y: 2}, d: { f: 10, g: 20} }; - assertEquals(1, a['a']); - assertEquals([1, 2, 3], a['b']); - assertEquals({x: 1, y: 2}, a['c']); - assertEquals({f: 10, g: 20}, a['d']); + assert.equal(1, a['a']); + assert.deepEqual([1, 2, 3], a['b']); + assert.deepEqual({x: 1, y: 2}, a['c']); + assert.deepEqual({f: 10, g: 20}, a['d']); - Dygraph.update(a, { c: { x: 2 } }); - assertEquals({x: 2}, a['c']); + utils.update(a, { c: { x: 2 } }); + assert.deepEqual({x: 2}, a['c']); - Dygraph.update(a, { d: null }); - assertEquals(null, a['d']); + utils.update(a, { d: null }); + assert.equal(null, a['d']); - Dygraph.update(a, { a: 10, b: [1, 2] }); - assertEquals(10, a['a']); - assertEquals([1, 2], a['b']); - assertEquals({x: 2}, a['c']); - assertEquals(null, a['d']); -}; + utils.update(a, { a: 10, b: [1, 2] }); + assert.equal(10, a['a']); + assert.deepEqual([1, 2], a['b']); + assert.deepEqual({x: 2}, a['c']); + assert.equal(null, a['d']); +}); -UtilsTestCase.prototype.testUpdateDeep = function() { +it('testUpdateDeep', function() { var a = { a: 1, b: [1, 2, 3], c: { x: 1, y: 2}, d: { f: 10, g: 20} }; - assertEquals(1, a['a']); - assertEquals([1, 2, 3], a['b']); - assertEquals({x: 1, y: 2}, a['c']); - assertEquals({f: 10, g: 20}, a['d']); + assert.equal(1, a['a']); + assert.deepEqual([1, 2, 3], a['b']); + assert.deepEqual({x: 1, y: 2}, a['c']); + assert.deepEqual({f: 10, g: 20}, a['d']); - Dygraph.updateDeep(a, { c: { x: 2 } }); - assertEquals({x: 2, y: 2}, a['c']); + utils.updateDeep(a, { c: { x: 2 } }); + assert.deepEqual({x: 2, y: 2}, a['c']); - Dygraph.updateDeep(a, { d: null }); - assertEquals(null, a['d']); + utils.updateDeep(a, { d: null }); + assert.equal(null, a['d']); - Dygraph.updateDeep(a, { a: 10, b: [1, 2] }); - assertEquals(10, a['a']); - assertEquals([1, 2], a['b']); - assertEquals({x: 2, y: 2}, a['c']); - assertEquals(null, a['d']); -}; + utils.updateDeep(a, { a: 10, b: [1, 2] }); + assert.equal(10, a['a']); + assert.deepEqual([1, 2], a['b']); + assert.deepEqual({x: 2, y: 2}, a['c']); + assert.equal(null, a['d']); +}); -UtilsTestCase.prototype.testUpdateDeepDecoupled = function() { +it('testUpdateDeepDecoupled', function() { var a = { a: 1, b: [1, 2, 3], @@ -64,109 +66,141 @@ UtilsTestCase.prototype.testUpdateDeepDecoupled = function() { }; var b = {}; - Dygraph.updateDeep(b, a); + utils.updateDeep(b, a); b.a = 2; - assertEquals(1, a.a); + assert.equal(1, a.a); b.b[0] = 2; - assertEquals(1, a.b[0]); + assert.equal(1, a.b[0]); b.c.x = "new value"; - assertEquals("original", a.c.x); -}; + assert.equal("original", a.c.x); +}); -UtilsTestCase.prototype.testIterator_nopredicate = function() { +it('testIterator_nopredicate', function() { var array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; - var iter = Dygraph.createIterator(array, 1, 4); - assertTrue(iter.hasNext()); - assertEquals('b', iter.peek()); - assertEquals('b', iter.next()); - assertTrue(iter.hasNext()); + var iter = utils.createIterator(array, 1, 4); + assert.isTrue(iter.hasNext); + assert.equal('b', iter.peek); + assert.equal('b', iter.next()); + assert.isTrue(iter.hasNext); - assertEquals('c', iter.peek()); - assertEquals('c', iter.next()); + assert.equal('c', iter.peek); + assert.equal('c', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('d', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('d', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('e', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('e', iter.next()); - assertFalse(iter.hasNext()); -} + assert.isFalse(iter.hasNext); +}); -UtilsTestCase.prototype.testIterator_predicate = function() { +it('testIterator_predicate', function() { var array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; - var iter = Dygraph.createIterator(array, 1, 4, + var iter = utils.createIterator(array, 1, 4, function(array, idx) { return array[idx] !== 'd' }); - assertTrue(iter.hasNext()); - assertEquals('b', iter.peek()); - assertEquals('b', iter.next()); - assertTrue(iter.hasNext()); + assert.isTrue(iter.hasNext); + assert.equal('b', iter.peek); + assert.equal('b', iter.next()); + assert.isTrue(iter.hasNext); - assertEquals('c', iter.peek()); - assertEquals('c', iter.next()); + assert.equal('c', iter.peek); + assert.equal('c', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('e', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('e', iter.next()); - assertFalse(iter.hasNext()); -} + assert.isFalse(iter.hasNext); +}); -UtilsTestCase.prototype.testIterator_empty = function() { +it('testIterator_empty', function() { var array = []; - var iter = Dygraph.createIterator([], 0, 0); - assertFalse(iter.hasNext()); -} + var iter = utils.createIterator([], 0, 0); + assert.isFalse(iter.hasNext); +}); -UtilsTestCase.prototype.testIterator_outOfRange = function() { +it('testIterator_outOfRange', function() { var array = ['a', 'b', 'c']; - var iter = Dygraph.createIterator(array, 1, 4, + var iter = utils.createIterator(array, 1, 4, function(array, idx) { return array[idx] !== 'd' }); - assertTrue(iter.hasNext()); - assertEquals('b', iter.peek()); - assertEquals('b', iter.next()); - assertTrue(iter.hasNext()); + assert.isTrue(iter.hasNext); + assert.equal('b', iter.peek); + assert.equal('b', iter.next()); + assert.isTrue(iter.hasNext); - assertEquals('c', iter.peek()); - assertEquals('c', iter.next()); + assert.equal('c', iter.peek); + assert.equal('c', iter.next()); - assertFalse(iter.hasNext()); -} + assert.isFalse(iter.hasNext); +}); // Makes sure full array is tested, and that the predicate isn't called // with invalid boundaries. -UtilsTestCase.prototype.testIterator_whole_array = function() { +it('testIterator_whole_array', function() { var array = ['a', 'b', 'c']; - var iter = Dygraph.createIterator(array, 0, array.length, + var iter = utils.createIterator(array, 0, array.length, function(array, idx) { if (idx < 0 || idx >= array.length) { throw "err"; } else { return true; - }; + } }); - assertTrue(iter.hasNext()); - assertEquals('a', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('b', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('c', iter.next()); - assertFalse(iter.hasNext()); - assertNull(iter.next()); -} - -UtilsTestCase.prototype.testIterator_no_args = function() { + assert.isTrue(iter.hasNext); + assert.equal('a', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('b', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('c', iter.next()); + assert.isFalse(iter.hasNext); + assert.isNull(iter.next()); +}); + +it('testIterator_no_args', function() { var array = ['a', 'b', 'c']; - var iter = Dygraph.createIterator(array); - assertTrue(iter.hasNext()); - assertEquals('a', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('b', iter.next()); - assertTrue(iter.hasNext()); - assertEquals('c', iter.next()); - assertFalse(iter.hasNext()); - assertNull(iter.next()); -} + var iter = utils.createIterator(array); + assert.isTrue(iter.hasNext); + assert.equal('a', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('b', iter.next()); + assert.isTrue(iter.hasNext); + assert.equal('c', iter.next()); + assert.isFalse(iter.hasNext); + assert.isNull(iter.next()); +}); + +it('testToRGB', function() { + assert.deepEqual({r: 255, g: 200, b: 150}, utils.toRGB_('rgb(255,200,150)')); + assert.deepEqual({r: 255, g: 200, b: 150}, utils.toRGB_('#FFC896')); + assert.deepEqual({r: 255, g: 0, b: 0}, utils.toRGB_('red')); + assert.deepEqual({r: 255, g: 200, b: 150, a: 0.6}, + utils.toRGB_('rgba(255, 200, 150, 0.6)')); +}); + +it('testIsPixelChangingOptionList', function() { + var isPx = utils.isPixelChangingOptionList; + assert.isTrue(isPx([], { axes: { y: { digitsAfterDecimal: 3 }}})); + assert.isFalse(isPx([], { axes: { y: { axisLineColor: 'blue' }}})); +}); + +/* +it('testDateSet', function() { + var base = new Date(1383455100000); + var d = new Date(base); + + // A one hour shift -- this is surprising behavior! + d.setMilliseconds(10); + assert.equal(3600010, d.getTime() - base.getTime()); + + // setDateSameTZ compensates for this surprise. + d = new Date(base); + Dygraph.setDateSameTZ(d, {ms: 10}); + assert.equal(10, d.getTime() - base.getTime()); +}); +*/ + +});