mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim:set ts=2 sw=2 sts=2 et: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/**
|
|
* This test ensures that when the extension manager UI is open and a
|
|
* restartless extension is installed from the web, its correct name appears
|
|
* when the download and installation complete. See bug 562992.
|
|
*/
|
|
|
|
var gManagerWindow;
|
|
var gProvider;
|
|
var gInstall;
|
|
|
|
const EXTENSION_NAME = "Wunderbar";
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
gProvider = new MockProvider();
|
|
|
|
open_manager("addons://list/extension", function (aWindow) {
|
|
gManagerWindow = aWindow;
|
|
run_next_test();
|
|
});
|
|
}
|
|
|
|
function end_test() {
|
|
close_manager(gManagerWindow, function () {
|
|
finish();
|
|
});
|
|
}
|
|
|
|
// Create a MockInstall with a MockAddon payload and add it to the provider,
|
|
// causing the onNewInstall event to fire, which in turn will cause a new
|
|
// "installing" item to appear in the list of extensions.
|
|
add_test(function () {
|
|
let addon = new MockAddon(undefined, EXTENSION_NAME, "extension", true);
|
|
gInstall = new MockInstall(undefined, undefined, addon);
|
|
gInstall.addTestListener({
|
|
onNewInstall: function () {
|
|
run_next_test();
|
|
}
|
|
});
|
|
gProvider.addInstall(gInstall);
|
|
});
|
|
|
|
// Finish the install, which will cause the "installing" item to be converted
|
|
// to an "installed" item, which should have the correct add-on name.
|
|
add_test(function () {
|
|
gInstall.addTestListener({
|
|
onInstallEnded: function () {
|
|
let list = gManagerWindow.document.getElementById("addon-list");
|
|
|
|
// To help prevent future breakage, don't assume the item is the only one
|
|
// in the list, or that it's first in the list. Find it by name.
|
|
for (let i = 0; i < list.itemCount; i++) {
|
|
let item = list.getItemAtIndex(i);
|
|
if (item.getAttribute("name") === EXTENSION_NAME) {
|
|
ok(true, "Item with correct name found");
|
|
run_next_test();
|
|
return;
|
|
}
|
|
}
|
|
ok(false, "Item with correct name was not found");
|
|
run_next_test();
|
|
}
|
|
});
|
|
gInstall.install();
|
|
});
|