diff -r 000000000000 -r 6474c204b198 browser/devtools/tilt/test/browser_tilt_05_destruction-esc.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/tilt/test/browser_tilt_05_destruction-esc.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,49 @@ +/* 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); + EventUtils.sendKey("ESCAPE"); + } + }, 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(); +}