X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Frange_tests.js;h=83a2505f870656e313f22433a1393c10fbb39eca;hb=7071b20650f42804b37ecec270bc99729403dd0c;hp=c2ef95ea9152d8282debf68cb0d9a49e64925ca3;hpb=fa0d7ad80802e2b31d9889936eb6ffd55dab1f43;p=dygraphs.git diff --git a/auto_tests/tests/range_tests.js b/auto_tests/tests/range_tests.js index c2ef95e..83a2505 100644 --- a/auto_tests/tests/range_tests.js +++ b/auto_tests/tests/range_tests.js @@ -70,6 +70,30 @@ RangeTestCase.prototype.testRangeSetOperations = function() { assertEquals([12, 18], g.xAxisRange()); assertEquals([10, 40], g.yAxisRange(0)); + g.updateOptions({ valueRange: [10, NaN] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 44.2], g.yAxisRange(0)); + + g.updateOptions({ valueRange: [10, 40] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 40], g.yAxisRange(0)); + + g.updateOptions({ valueRange: [10, null] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 44.2], g.yAxisRange(0)); + + g.updateOptions({ valueRange: [10, 40] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 40], g.yAxisRange(0)); + + g.updateOptions({ valueRange: [10, undefined] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 44.2], g.yAxisRange(0)); + + g.updateOptions({ valueRange: [10, 40] }); + assertEquals([12, 18], g.xAxisRange()); + assertEquals([10, 40], g.yAxisRange(0)); + g.updateOptions({ }); assertEquals([12, 18], g.xAxisRange()); assertEquals([10, 40], g.yAxisRange(0)); @@ -162,6 +186,84 @@ RangeTestCase.prototype.testIncludeZeroIncludesZero = function() { assertEquals([450, 1050], g.yAxisRange(0)); } + +/** + * Verify that includeZero range is properly specified per axis. + */ +RangeTestCase.prototype.testIncludeZeroPerAxis = function() { + var g = new Dygraph("graph", + 'X,A,B\n'+ + '0,50,50\n'+ + '50,110,110\n', + { + drawPoints: true, + pointSize:5, + series:{ + A: { + axis: 'y', + pointSize: 10 + }, + B: { + axis: 'y2' + } + }, + axes: { + 'y2': { includeZero: true } + } + }); + + + assertEquals([44, 116], g.yAxisRange(0)); + assertEquals([0, 121], g.yAxisRange(1)); + + g.updateOptions({ + axes: { + 'y2': { includeZero: false } + } + }); + + assertEquals([44, 116], g.yAxisRange(1)); +} + + +/** + * Verify that includeZero range is properly specified per axis with old axis options. + */ +RangeTestCase.prototype.testIncludeZeroPerAxisOld = function() { + var g = new Dygraph("graph", + 'X,A,B\n' + + '0,50,50\n' + + '50,110,110\n', + { + drawPoints: true, + pointSize: 5, + + A: { + pointSize: 10 + }, + B: { + axis: {} + }, + axes: { + 'y': { includeZero: true }, + 'y2': { includeZero: false } + } + }); + + assertEquals([0, 121], g.yAxisRange(0)); + assertEquals([44, 116], g.yAxisRange(1)); + + g.updateOptions({ + axes: { + 'y': { includeZero: false }, + 'y2': { includeZero: true } + } + }); + + assertEquals([44, 116], g.yAxisRange(0)); + assertEquals([0, 121], g.yAxisRange(1)); +} + /** * Verify that very large Y ranges don't break things. */