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 0000000000..d2d68ce8d3 --- /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; + }); +} |