diff options
Diffstat (limited to 'widget/tests/utils.js')
-rw-r--r-- | widget/tests/utils.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/widget/tests/utils.js b/widget/tests/utils.js new file mode 100644 index 000000000..3796c7d2b --- /dev/null +++ b/widget/tests/utils.js @@ -0,0 +1,27 @@ + +function getTestPlugin(pluginName) { + var ph = SpecialPowers.Cc["@mozilla.org/plugin/host;1"] + .getService(SpecialPowers.Ci.nsIPluginHost); + var tags = ph.getPluginTags(); + var name = pluginName || "Test Plug-in"; + for (var tag of tags) { + if (tag.name == name) { + return tag; + } + } + + ok(false, "Could not find plugin tag with plugin name '" + name + "'"); + return null; +} + +// call this to set the test plugin(s) initially expected enabled state. +// it will automatically be reset to it's previous value after the test +// ends +function setTestPluginEnabledState(newEnabledState, pluginName) { + var plugin = getTestPlugin(pluginName); + var oldEnabledState = plugin.enabledState; + plugin.enabledState = newEnabledState; + SimpleTest.registerCleanupFunction(function() { + getTestPlugin(pluginName).enabledState = oldEnabledState; + }); +} |