X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Fannotations.js;h=d0a2f7ffbfecc57f12858a6b649cdfd1fc732fe7;hb=5bcc58b46734fb5c9e821ed041318cb53127feb5;hp=76a56d2ff99d566cbdc1e5214f8afd54b3d59335;hpb=691cb47bb65c604efa9a1f1a6537192f618edb3e;p=dygraphs.git diff --git a/auto_tests/tests/annotations.js b/auto_tests/tests/annotations.js index 76a56d2..d0a2f7f 100644 --- a/auto_tests/tests/annotations.js +++ b/auto_tests/tests/annotations.js @@ -240,3 +240,33 @@ AnnotationsTestCase.prototype.testAnnotationsStacked = function() { assertEquals(annEls[0].offsetLeft, annEls[1].offsetLeft); assert(annEls[1].offsetTop < annEls[0].offsetTop - 10); }; + + +// Test the .ready() method, which is most often used with setAnnotations(). +AnnotationsTestCase.prototype.testReady = function() { + var data = 'X,Y1,Y2\n' + + '0,1,2\n' + + '1,2,3\n'; + var mockXhr = Util.overrideXMLHttpRequest(data); + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, "data.csv", { + width: 480, + height: 320 + }); + + var ready_calls = 0; + g.ready(function() { ready_calls++; }); + + assertEquals(0, ready_calls); + mockXhr.respond(); + assertEquals(1, ready_calls); + + // Make sure that ready isn't called on redraws. + g.updateOptions({}); + assertEquals(1, ready_calls); + + // Or data changes. + g.updateOptions({file: data}); + assertEquals(1, ready_calls); +};