diff options
Diffstat (limited to 'dom/plugins/test/mochitest/test_bug1165981.html')
-rw-r--r-- | dom/plugins/test/mochitest/test_bug1165981.html | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/dom/plugins/test/mochitest/test_bug1165981.html b/dom/plugins/test/mochitest/test_bug1165981.html new file mode 100644 index 000000000..360d9312a --- /dev/null +++ b/dom/plugins/test/mochitest/test_bug1165981.html @@ -0,0 +1,81 @@ +<html> + <head> + <title>Bug 1165981 Test</title> + + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="plugin-utils.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + </head> + <script class="testbody" type="application/javascript"> + "use strict"; + + SimpleTest.waitForExplicitFinish(); + ok(SpecialPowers.setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED, "Shockwave Flash"), "Should find allowed test flash plugin"); + ok(SpecialPowers.setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED, "Silverlight Test Plug-in"), "Should find allowed test silverlight plugin"); + ok(!SpecialPowers.setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED, "Third Test Plug-in"), "Should not find disallowed plugin"); + + function findPlugin(pluginName) { + for (var i = 0; i < navigator.plugins.length; i++) { + var plugin = navigator.plugins[i]; + if (plugin.name === pluginName) { + return plugin; + } + } + return null; + } + + function findMimeType(mimeTypeType) { + for (var i = 0; i < navigator.mimeTypes.length; i++) { + var mimeType = navigator.mimeTypes[i]; + if (mimeType.type === mimeTypeType) { + return mimeType; + } + } + return null; + } + + function createNode(id, type) { + let obj = document.createElement("object"); + obj.type = type; + obj.id = id; + obj.width = 200; + obj.height = 200; + document.body.appendChild(obj); + } + + function run() { + createNode("plugin-flash", "application/x-shockwave-flash-test"); + createNode("plugin-silverlight", "application/x-silverlight-test"); + createNode("disallowedPlugin", "application/x-third-test"); + var pluginElement = document.getElementById("plugin-flash"); + is(pluginElement.identifierToStringTest("foo"), "foo", "Should be able to call a function provided by the plugin"); + + pluginElement = document.getElementById("plugin-silverlight"); + is(pluginElement.identifierToStringTest("foo"), "foo", "Should be able to call a function provided by the plugin"); + + pluginElement = document.getElementById("disallowedPlugin"); + is(typeof pluginElement.identifierToStringTest, "undefined", "Should NOT be able to call a function on a disallowed plugin"); + + ok(navigator.plugins["Shockwave Flash"], "Should have queried a plugin named 'Shockwave Flash'"); + ok(navigator.plugins["Silverlight Test Plug-in"], "Should have queried a plugin named 'Silverlight Test Plug-in'"); + ok(!navigator.plugins["Third Test Plug-in"], "Should NOT have queried a disallowed plugin named 'Third Test Plug-in'"); + + ok(findPlugin("Shockwave Flash"), "Should have found a plugin named 'Shockwave Flash'"); + ok(findPlugin("Silverlight Test Plug-in"), "Should have found a plugin named 'Silverlight Test Plug-in'"); + ok(!findPlugin("Third Test Plug-in"), "Should NOT found a disallowed plugin named 'Third Test Plug-in'"); + + ok(navigator.mimeTypes["application/x-shockwave-flash-test"], "Should have queried a MIME type named 'application/x-shockwave-flash-test'"); + ok(navigator.mimeTypes["application/x-silverlight-test"], "Should have queried a MIME type named 'application/x-silverlight-test'"); + ok(!navigator.mimeTypes["application/x-third-test"], "Should NOT have queried a disallowed type named 'application/x-third-test'"); + + ok(findMimeType("application/x-shockwave-flash-test"), "Should have found a MIME type named 'application/x-shockwave-flash-test'"); + ok(findMimeType("application/x-silverlight-test"), "Should have found a MIME type named 'application/x-silverlight-test'"); + ok(!findMimeType("application/x-third-test"), "Should NOT have found a disallowed MIME type named 'application/x-third-test'"); + + SimpleTest.finish(); + } + </script> + + <body onload="run()"> + </body> +</html> |