diff options
Diffstat (limited to 'docshell/test/browser/browser_bug1206879.js')
-rw-r--r-- | docshell/test/browser/browser_bug1206879.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docshell/test/browser/browser_bug1206879.js b/docshell/test/browser/browser_bug1206879.js new file mode 100644 index 000000000..1276f6428 --- /dev/null +++ b/docshell/test/browser/browser_bug1206879.js @@ -0,0 +1,31 @@ +add_task(function*() { + let url = getRootDirectory(gTestPath) + "file_bug1206879.html"; + let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, url, true); + + let numLocationChanges = 0; + + let listener = { + onLocationChange: function(browser, wp, request, uri, flags) { + if (browser != tab.linkedBrowser) { + return; + } + info("onLocationChange: " + uri.spec); + numLocationChanges++; + this.resolve(); + } + }; + let locationPromise = new Promise((resolve, reject) => { + listener.resolve = resolve; + gBrowser.addTabsProgressListener(listener); + }); + yield ContentTask.spawn(tab.linkedBrowser, {}, function() { + content.frames[0].history.pushState(null, null, "foo"); + }); + + yield locationPromise; + + gBrowser.removeTab(tab); + gBrowser.removeTabsProgressListener(listener); + is(numLocationChanges, 1, + "pushState with a different URI should cause a LocationChange event."); +}); |