describe('flot with large numbers', function() { var placeholder, plot; beforeEach(function() { placeholder = setFixtures('
') .find('#test-container'); }); describe('on linear axis', function() { it('should work with large negative and positive numbers', function () { plot = $.plot(placeholder, [[[0, 1e308], [1, -1e308]]], {}); var yaxis = plot.getAxes().yaxis; expect(yaxis.max).toBeGreaterThan(1e308); expect(yaxis.min).toBeLessThan(-1e308); expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); it('should work with Number.MAX_VALUE and -Number.MAX_VALUE', function () { plot = $.plot(placeholder, [[[0, Number.MAX_VALUE], [1, -Number.MAX_VALUE]]], {}); var yaxis = plot.getAxes().yaxis; expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); it('should work with large numbers and large navigation offsets', function () { plot = $.plot(placeholder, [[[0, 1e308], [1, -1e308]]], { yaxes: [{ offset: {below: -1e308, above: 1e308} }] }); var yaxis = plot.getAxes().yaxis; expect(yaxis.max).toBeGreaterThan(1e308); expect(yaxis.min).toBeLessThan(-1e308); expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); }); describe('on logaritmic axis', function() { it('should work with large positive numbers', function () { plot = $.plot(placeholder, [[[0, 1.1e308], [1, 0]]], { yaxis: {mode: 'log'}}); var yaxis = plot.getAxes().yaxis; expect(yaxis.max).toBeGreaterThan(1e308); expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); it('should work with Number.MAX_VALUE', function () { plot = $.plot(placeholder, [[[0, Number.MAX_VALUE], [1, 0]]], { yaxis: {mode: 'log'}}); var yaxis = plot.getAxes().yaxis; expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); it('should work with large numbers and large navigation offsets', function () { plot = $.plot(placeholder, [[[0, 1e308], [1, 0]]], { yaxes: [{ offset: {below: -1e308, above: 1e308}, mode: 'log' }] }); var yaxis = plot.getAxes().yaxis; expect(yaxis.max).toBeGreaterThan(1e308); expect(yaxis.min).toEqual(0.1); expect(yaxis.ticks.length).toBeGreaterThan(2); yaxis.ticks.forEach(function(tick) { expect(isFinite(tick.v)).toBe(true); }); }); }); });