var expected = [
"TabOpen" ,
"onStateChange" ,
"onLocationChange" ,
"onLinkIconAvailable" ,
];
var actual = [];
var tabIndex = -1;
this .__defineGetter__("tab" , () => gBrowser.tabs[tabIndex]);
function test() {
waitForExplicitFinish();
tabIndex = gBrowser.tabs.length;
gBrowser.addTabsProgressListener(progressListener);
gBrowser.tabContainer.addEventListener("TabOpen" , TabOpen);
BrowserTestUtils.addTab(
gBrowser,
"data:text/html, "
);
}
function recordEvent(aName) {
info("got " + aName);
if (!actual.includes(aName)) {
actual.push(aName);
}
if (actual.length == expected.length) {
is(
actual.toString(),
expected.toString(),
"got events and progress notifications in expected order"
);
executeSoon(
// eslint-disable-next-line no-shadow
function (tab) {
gBrowser.removeTab(tab);
gBrowser.removeTabsProgressListener(progressListener);
gBrowser.tabContainer.removeEventListener("TabOpen" , TabOpen);
finish();
}.bind(null , tab)
);
}
}
function TabOpen(aEvent) {
if (aEvent.target == tab) {
recordEvent("TabOpen" );
}
}
var progressListener = {
onLocationChange: function onLocationChange(aBrowser) {
if (aBrowser == tab.linkedBrowser) {
recordEvent("onLocationChange" );
}
},
onStateChange: function onStateChange(aBrowser) {
if (aBrowser == tab.linkedBrowser) {
recordEvent("onStateChange" );
}
},
onLinkIconAvailable: function onLinkIconAvailable(aBrowser) {
if (aBrowser == tab.linkedBrowser) {
recordEvent("onLinkIconAvailable" );
}
},
};
Messung V0.5 C=98 H=97 G=97
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland