1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/base/content/test/general/browser_bug519216.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,45 @@ 1.4 +function test() { 1.5 + waitForExplicitFinish(); 1.6 + gBrowser.addProgressListener(progressListener1); 1.7 + gBrowser.addProgressListener(progressListener2); 1.8 + gBrowser.addProgressListener(progressListener3); 1.9 + gBrowser.loadURI("data:text/plain,bug519216"); 1.10 +} 1.11 + 1.12 +var calledListener1 = false; 1.13 +var progressListener1 = { 1.14 + onLocationChange: function onLocationChange() { 1.15 + calledListener1 = true; 1.16 + gBrowser.removeProgressListener(this); 1.17 + } 1.18 +}; 1.19 + 1.20 +var calledListener2 = false; 1.21 +var progressListener2 = { 1.22 + onLocationChange: function onLocationChange() { 1.23 + ok(calledListener1, "called progressListener1 before progressListener2"); 1.24 + calledListener2 = true; 1.25 + gBrowser.removeProgressListener(this); 1.26 + } 1.27 +}; 1.28 + 1.29 +var progressListener3 = { 1.30 + onLocationChange: function onLocationChange() { 1.31 + ok(calledListener2, "called progressListener2 before progressListener3"); 1.32 + gBrowser.removeProgressListener(this); 1.33 + gBrowser.addProgressListener(progressListener4); 1.34 + executeSoon(function () { 1.35 + expectListener4 = true; 1.36 + gBrowser.reload(); 1.37 + }); 1.38 + } 1.39 +}; 1.40 + 1.41 +var expectListener4 = false; 1.42 +var progressListener4 = { 1.43 + onLocationChange: function onLocationChange() { 1.44 + ok(expectListener4, "didn't call progressListener4 for the first location change"); 1.45 + gBrowser.removeProgressListener(this); 1.46 + executeSoon(finish); 1.47 + } 1.48 +};