From: Robert Konigsberg Date: Sun, 30 Dec 2012 16:07:00 +0000 (-0500) Subject: Merge branch 'master' of github.com:danvk/dygraphs X-Git-Tag: v1.0.0~134^2 X-Git-Url: https://adrianiainlam.tk/git/?a=commitdiff_plain;h=901b2ebbe25c116c93550cfca91b0704d751d997;p=dygraphs.git Merge branch 'master' of github.com:danvk/dygraphs Conflicts: auto_tests/tests/Util.js auto_tests/tests/axis_labels.js --- 901b2ebbe25c116c93550cfca91b0704d751d997 diff --cc auto_tests/tests/Util.js index 1fce3a0,6469bc6..3eb59e3 --- a/auto_tests/tests/Util.js +++ b/auto_tests/tests/Util.js @@@ -55,27 -55,16 +55,39 @@@ Util.getLegend = function(parent) parent = parent || document; var legend = parent.getElementsByClassName("dygraph-legend")[0]; return legend.textContent; -} +}; + +/** + * Assert that all the elements in 'parent' with class 'className' is + * the expected font size. + */ +Util.assertFontSizes = function(parent, className, expectedSize) { + var expectedSizePx = expectedSize + "px"; + var labels = parent.getElementsByClassName(className); + assertTrue(labels.length > 0); + + // window.getComputedStyle is apparently compatible with all browsers + // (IE first became compatible with IE9.) + // If this test fails on earlier browsers, then enable something like this, + // because the font size is set by the parent div. + // if (!window.getComputedStyle) { + // fontSize = label.parentElement.style.fontSize; + // } + for (var idx = 0; idx < labels.length; idx++) { + var label = labels[idx]; + var fontSize = window.getComputedStyle(label).fontSize; + assertEquals(expectedSizePx, fontSize); + } +}; + + + /** + * Takes in an array of strings and returns an array of floats. + */ + Util.makeNumbers = function(ary) { + var ret = []; + for (var i = 0; i < ary.length; i++) { + ret.push(parseFloat(ary[i])); + } + return ret; -} ++}; diff --cc auto_tests/tests/axis_labels.js index 00f3913,2eb7f4d..56ddf3d --- a/auto_tests/tests/axis_labels.js +++ b/auto_tests/tests/axis_labels.js @@@ -577,12 -566,103 +566,83 @@@ AxisLabelsTestCase.prototype.testInclud assertEquals(['500','600','700','800','900','1000'], Util.getYLabels()); } + AxisLabelsTestCase.prototype.testAxisLabelFontSize = function() { + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, AxisLabelsTestCase.simpleData, {}); + var assertSize = function(className, size) { + var sizePx = size + "px"; + var labels = graph.getElementsByClassName(className); + assertTrue(labels.length > 0); + + // window.getComputedStyle is apparently compatible with all browsers + // (IE first became compatible with IE9.) + // If this test fails on earlier browsers, then enable something like this, + // because the font size is set by the parent div. + // if (!window.getComputedStyle) { + // fontSize = label.parentElement.style.fontSize; + // } + for (var idx = 0; idx < labels.length; idx++) { + var label = labels[idx]; + var fontSize = window.getComputedStyle(label).fontSize; + assertEquals(sizePx, fontSize); + } + } + + // Be sure we're dealing with a 14-point default. + assertEquals(14, Dygraph.DEFAULT_ATTRS.axisLabelFontSize); + + assertSize("dygraph-axis-label-x", 14); + assertSize("dygraph-axis-label-y", 14); + + g.updateOptions({ axisLabelFontSize : 8}); + assertSize("dygraph-axis-label-x", 8); + assertSize("dygraph-axis-label-y", 8); + + /* + Enable these tests when https://code.google.com/p/dygraphs/issues/detail?id=126 + is fixed. + + g.updateOptions({ + axisLabelFontSize : null, + axes : { + x : { axisLabelFontSize : 5 }, + } + }); + + assertSize("dygraph-axis-label-x", 5); + assertSize("dygraph-axis-label-y", 14); + + g.updateOptions({ + axisLabelFontSize : null, + axes : { + y : { axisLabelFontSize : 3 }, + } + }); + + assertSize("dygraph-axis-label-x", 5); + assertSize("dygraph-axis-label-y", 3); + + g.updateOptions({ + series : { + Y2 : { axis : "y2" } // copy y2 series to y2 axis. + }, + axes : { + y2 : { axisLabelFontSize : 8 }, + } + }); + + assertSize("dygraph-axis-label-x", 5); + assertSize("dygraph-axis-label-y", 3); + assertSize("dygraph-axis-label-y2", 8); + */ + } + -/* - * This test will pass when - * https://code.google.com/p/dygraphs/issues/detail?id=413 - * is fixed. -AxisLabelsTestCase.prototype.testAxisLabelFontSize2 = function() { +AxisLabelsTestCase.prototype.testAxisLabelFontSizeNull = function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, AxisLabelsTestCase.simpleData, - {axisLabelFontSize: undefined}); - var assertSize = function(className, size) { - var sizePx = size + "px"; - var labels = graph.getElementsByClassName(className); - assertTrue(labels.length > 0); - - // window.getComputedStyle is apparently compatible with all browsers - // (IE first became compatible with IE9.) - // If this test fails on earlier browsers, then enable something like this, - // because the font size is set by the parent div. - // if (!window.getComputedStyle) { - // fontSize = label.parentElement.style.fontSize; - // } - for (var idx = 0; idx < labels.length; idx++) { - var label = labels[idx]; - var fontSize = window.getComputedStyle(label).fontSize; - assertEquals(sizePx, fontSize); - } - } + { + axisLabelFontSize: null + }); // Be sure we're dealing with a 14-point default. assertEquals(14, Dygraph.DEFAULT_ATTRS.axisLabelFontSize);