X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Ferror_bars.js;h=4fd3369867af36086fad4bd5fe0a330a6f1d0bfe;hb=ad739e06ecde73b8a05ff619fa901474b408ddaa;hp=bb6c1d97ea1c57c5e977c8b39544e2cfe6251dc1;hpb=3123ca57f71d145bb5bcc4a2f754d3dff3225346;p=dygraphs.git diff --git a/auto_tests/tests/error_bars.js b/auto_tests/tests/error_bars.js index bb6c1d9..4fd3369 100644 --- a/auto_tests/tests/error_bars.js +++ b/auto_tests/tests/error_bars.js @@ -3,23 +3,17 @@ * * @author danvk@google.com (Dan Vanderkam) */ -describe("error-bars", function() { -beforeEach(function() { - document.body.innerHTML = "
"; -}); +import Dygraph from '../../src/dygraph'; +import * as utils from '../../src/dygraph-utils'; +import Util from './Util'; +import Proxy from './Proxy'; +import CanvasAssertions from './CanvasAssertions'; -var _origFunc = Dygraph.getContext; -beforeEach(function() { - document.body.innerHTML = "
"; - Dygraph.getContext = function(canvas) { - return new Proxy(_origFunc(canvas)); - } -}); +describe("error-bars", function() { -afterEach(function() { - Dygraph.getContext = _origFunc; -}); +cleanupAfterEach(); +useProxyCanvas(utils, Proxy); it('testErrorBarsDrawn', function() { var opts = { @@ -36,7 +30,8 @@ it('testErrorBarsDrawn', function() { } }, customBars: true, - errorBars: true + errorBars: true, + labels: ['X', 'Y'] }; var data = [ [1, [10, 10, 100]], @@ -143,6 +138,53 @@ it('testErrorBarsCorrectColors', function() { assert.deepEqual([0, 255, 0, 38], Util.samplePixel(g.hidden_, 200, 225)); }); +// Regression test for https://github.com/danvk/dygraphs/issues/517 +// This verifies that the error bars have alpha=fillAlpha, even if the series +// color has its own alpha value. +it('testErrorBarsForAlphaSeriesCorrectColors', function() { + var data = [ + [0, [100, 50]], + [2, [100, 50]] + ]; + + var opts = { + errorBars: true, + sigma: 1.0, + fillAlpha: 0.15, + strokeWidth: 10, + colors: ['rgba(0, 255, 0, 0.5)'], + axes : { + x : { + drawGrid: false, + drawAxis: false, + }, + y : { + drawGrid: false, + drawAxis: false, + } + }, + width: 400, + height: 300, + valueRange: [0, 300], + labels: ['X', 'Y'] + }; + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, opts); + + // y-pixels (0=top, 299=bottom) + // 0-148: empty (white) + // 149-198: Y error bar + // 199: Y center line + // 200-248: Y error bar + // 249-299: empty (white) + + // 38 = 255 * 0.15 (fillAlpha) + // 146 = 255 * (0.15 * 0.5 + 1 * 0.5) (fillAlpha from error bar + alpha from series line) + assert.deepEqual([0, 255, 0, 38], Util.samplePixel(g.hidden_, 1, 175)); + assert.deepEqual([0, 255, 0, 146], Util.samplePixel(g.hidden_, 200, 199)); + assert.deepEqual([0, 255, 0, 38], Util.samplePixel(g.hidden_, 1, 225)); +}); + // Regression test for http://code.google.com/p/dygraphs/issues/detail?id=392 it('testRollingAveragePreservesNaNs', function() {