Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* 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/. */
"use strict";
// Calling CustomizableUI.registerArea twice with no
// properties should not throw an exception.
add_task(function () {
try {
CustomizableUI.registerArea("area-996364", {});
CustomizableUI.registerArea("area-996364", {});
} catch (ex) {
ok(false, ex.message);
}
CustomizableUI.unregisterArea("area-996364", true);
});
add_task(function () {
let exceptionThrown = false;
try {
CustomizableUI.registerArea("area-996364-2", {
type: CustomizableUI.TYPE_TOOLBAR,
defaultCollapsed: "false",
});
} catch (ex) {
exceptionThrown = true;
}
ok(
exceptionThrown,
"defaultCollapsed is not allowed as an external property"
);
// No need to unregister the area because registration fails.
});
add_task(function () {
let exceptionThrown;
try {
CustomizableUI.registerArea("area-996364-3", {
type: CustomizableUI.TYPE_TOOLBAR,
});
CustomizableUI.registerArea("area-996364-3", {
type: CustomizableUI.TYPE_PANEL,
});
} catch (ex) {
exceptionThrown = ex;
}
ok(
exceptionThrown,
"Exception expected, an area cannot change types: " +
(exceptionThrown ? exceptionThrown : "[no exception]")
);
CustomizableUI.unregisterArea("area-996364-3", true);
});
add_task(function () {
let exceptionThrown;
try {
CustomizableUI.registerArea("area-996364-4", {
type: CustomizableUI.TYPE_PANEL,
});
CustomizableUI.registerArea("area-996364-4", {
type: CustomizableUI.TYPE_TOOLBAR,
});
} catch (ex) {
exceptionThrown = ex;
}
ok(
exceptionThrown,
"Exception expected, an area cannot change types: " +
(exceptionThrown ? exceptionThrown : "[no exception]")
);
CustomizableUI.unregisterArea("area-996364-4", true);
});
add_task(function () {
let exceptionThrown;
try {
CustomizableUI.registerArea("area-996899-1", {
anchor: "PanelUI-menu-button",
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: [],
});
CustomizableUI.registerArea("area-996899-1", {
anchor: "home-button",
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: [],
});
} catch (ex) {
exceptionThrown = ex;
}
ok(
!exceptionThrown,
"Changing anchors shouldn't throw an exception: " +
(exceptionThrown ? exceptionThrown : "[no exception]")
);
CustomizableUI.unregisterArea("area-996899-1", true);
});
add_task(function () {
let exceptionThrown;
try {
CustomizableUI.registerArea("area-996899-2", {
anchor: "PanelUI-menu-button",
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: [],
});
CustomizableUI.registerArea("area-996899-2", {
anchor: "PanelUI-menu-button",
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: ["new-window-button"],
});
} catch (ex) {
exceptionThrown = ex;
}
ok(
!exceptionThrown,
"Changing defaultPlacements shouldn't throw an exception: " +
(exceptionThrown ? exceptionThrown : "[no exception]")
);
CustomizableUI.unregisterArea("area-996899-2", true);
});
add_task(function () {
let exceptionThrown;
try {
CustomizableUI.registerArea("area-996899-4", { overflowable: true });
CustomizableUI.registerArea("area-996899-4", { overflowable: false });
} catch (ex) {
exceptionThrown = ex;
}
ok(
exceptionThrown,
"Changing 'overflowable' should throw an exception: " +
(exceptionThrown ? exceptionThrown : "[no exception]")
);
CustomizableUI.unregisterArea("area-996899-4", true);
});