gecko-dev/dom/html/test/browser_DOMDocElementInsert...

27 строки
879 B
JavaScript

// Tests that the DOMDocElementInserted event is visible on the frame
add_task(async function() {
let tab = BrowserTestUtils.addTab(gBrowser);
let uri = "data:text/html;charset=utf-8,<html/>";
let eventPromise = ContentTask.spawn(tab.linkedBrowser, null, function() {
const { PromiseUtils } = ChromeUtils.import(
"resource://gre/modules/PromiseUtils.jsm"
);
let deferred = PromiseUtils.defer();
let listener = event => {
removeEventListener("DOMDocElementInserted", listener, true);
deferred.resolve(event.target.documentURIObject.spec);
};
addEventListener("DOMDocElementInserted", listener, true);
return deferred.promise;
});
BrowserTestUtils.loadURI(tab.linkedBrowser, uri);
let loadedURI = await eventPromise;
is(loadedURI, uri, "Should have seen the event for the right URI");
gBrowser.removeTab(tab);
});