+
+CallbackTestCase.prototype.testFailedResponse = function() {
+
+ // Fake out the XMLHttpRequest so it doesn't do anything.
+ XMLHttpRequest = function () {};
+ XMLHttpRequest.prototype.open = function () {};
+ XMLHttpRequest.prototype.send = function () {};
+
+ var highlightCallback = function(e, x, pts, row) {
+ fail("should not reach here");
+ };
+
+ var graph = document.getElementById("graph");
+ graph.style.border = "2px solid black";
+ var g = new Dygraph(graph, "data.csv", { // fake name
+ width: 400,
+ height: 300,
+ highlightCallback : highlightCallback
+ });
+
+ DygraphOps.dispatchMouseOver_Point(g, 800, 800);
+ DygraphOps.dispatchMouseMove_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 800, 800);
+
+ var oldOnerror = window.onerror;
+ var failed = false;
+ window.onerror = function() { failed = true; return false; }
+
+ DygraphOps.dispatchMouseOut_Point(g, 800, 800); // This call should not throw an exception.
+
+ assertFalse("exception thrown during mouseout", failed);
+};