1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
// Tests the detail view of plugins
var gManagerWindow;
function test() {
waitForExplicitFinish();
open_manager("addons://list/plugin", function(aWindow) {
gManagerWindow = aWindow;
run_next_test();
});
}
function end_test() {
close_manager(gManagerWindow, function() {
finish();
});
}
add_test(function() {
AddonManager.getAddonsByTypes(["plugin"], function(plugins) {
let testPluginId;
for (let plugin of plugins) {
if (plugin.name == "Test Plug-in") {
testPluginId = plugin.id;
break;
}
}
ok(testPluginId, "Test Plug-in should exist")
AddonManager.getAddonByID(testPluginId, function(testPlugin) {
let pluginEl = get_addon_element(gManagerWindow, testPluginId);
is(pluginEl.mAddon.optionsType, AddonManager.OPTIONS_TYPE_INLINE_INFO, "Options should be inline info type");
pluginEl.parentNode.ensureElementIsVisible(pluginEl);
let button = gManagerWindow.document.getAnonymousElementByAttribute(pluginEl, "anonid", "preferences-btn");
is_element_hidden(button, "Preferences button should be hidden");
button = gManagerWindow.document.getAnonymousElementByAttribute(pluginEl, "anonid", "details-btn");
EventUtils.synthesizeMouseAtCenter(button, { clickCount: 1 }, gManagerWindow);
wait_for_view_load(gManagerWindow, function() {
let pluginLibraries = gManagerWindow.document.getElementById("pluginLibraries");
ok(pluginLibraries, "Plugin file name row should be displayed");
// the file name depends on the platform
ok(pluginLibraries.textContent, testPlugin.pluginLibraries, "Plugin file name should be displayed");
let pluginMimeTypes = gManagerWindow.document.getElementById("pluginMimeTypes");
ok(pluginMimeTypes, "Plugin mime type row should be displayed");
ok(pluginMimeTypes.textContent, "application/x-test (tst)", "Plugin mime type should be displayed");
run_next_test();
});
});
});
});
|