summaryrefslogtreecommitdiffstats
path: root/widget/tests/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'widget/tests/utils.js')
-rw-r--r--widget/tests/utils.js27
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;
+ });
+}