gecko/browser/devtools/tilt/test/browser_tilt_05_destruction.js

50 lines
1.1 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
let tiltOpened = false;
function test() {
if (!isTiltEnabled()) {
info("Skipping destruction test because Tilt isn't enabled.");
return;
}
if (!isWebGLSupported()) {
info("Skipping destruction test because WebGL isn't supported.");
return;
}
waitForExplicitFinish();
createTab(function() {
createTilt({
onTiltOpen: function()
{
tiltOpened = true;
Services.obs.addObserver(finalize, DESTROYED, false);
Tilt.destroy(Tilt.currentWindowId);
}
}, false, function suddenDeath()
{
info("Tilt could not be initialized properly.");
cleanup();
});
});
}
function finalize() {
let id = TiltUtils.getWindowId(gBrowser.selectedBrowser.contentWindow);
is(Tilt.visualizers[id], null,
"The current instance of the visualizer wasn't destroyed properly.");
cleanup();
}
function cleanup() {
if (tiltOpened) { Services.obs.removeObserver(finalize, DESTROYED); }
gBrowser.removeCurrentTab();
finish();
}