X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Frange_tests.js;h=c2ef95ea9152d8282debf68cb0d9a49e64925ca3;hb=3c3b0a9da6dce1301dcccc6968e30b4792d4d3bd;hp=c92c48916e6a8f6facb24e70946d420701f51f2e;hpb=5be52ac33ffa79ee2212158aaed71ec3ffb6736c;p=dygraphs.git diff --git a/auto_tests/tests/range_tests.js b/auto_tests/tests/range_tests.js index c92c489..c2ef95e 100644 --- a/auto_tests/tests/range_tests.js +++ b/auto_tests/tests/range_tests.js @@ -35,6 +35,9 @@ var ZERO_TO_FIFTY_STEPS = function() { } return a; } (); +var FIVE_TO_ONE_THOUSAND = [ + [ 1, 10 ], [ 2, 20 ], [ 3, 30 ], [ 4, 40 ] , [ 5, 50 ], + [ 6, 60 ], [ 7, 70 ], [ 8, 80 ], [ 9, 90 ] , [ 10, 1000 ]]; var RangeTestCase = TestCase("range-tests"); @@ -136,3 +139,34 @@ RangeTestCase.prototype.testRestoreOriginalRanges_viaUpdateOptions = function() assertEquals([0, 55], g.yAxisRange(0)); assertEquals([10, 20], g.xAxisRange()); } + +/** + * Verify that log scale axis range is properly specified. + */ +RangeTestCase.prototype.testLogScaleExcludesZero = function() { + var g = new Dygraph("graph", FIVE_TO_ONE_THOUSAND, { logscale : true }); + assertEquals([10, 1099], g.yAxisRange(0)); + + g.updateOptions({ logscale : false }); + assertEquals([0, 1099], g.yAxisRange(0)); +} + +/** + * Verify that includeZero range is properly specified. + */ +RangeTestCase.prototype.testIncludeZeroIncludesZero = function() { + var g = new Dygraph("graph", [[0, 500], [500, 1000]], { includeZero : true }); + assertEquals([0, 1100], g.yAxisRange(0)); + + g.updateOptions({ includeZero : false }); + assertEquals([450, 1050], g.yAxisRange(0)); +} + +/** + * Verify that very large Y ranges don't break things. + */ +RangeTestCase.prototype.testHugeRange = function() { + var g = new Dygraph("graph", [[0, -1e120], [1, 1e230]], { includeZero : true }); + assertEqualsDelta(1, -1e229 / g.yAxisRange(0)[0], 0.001); + assertEqualsDelta(1, 1.1e230 / g.yAxisRange(0)[1], 0.001); +}