Files
tubestation/toolkit/content/tests/chrome/test_bug509732.xhtml
Hanna Jones 06f64c0cdb Bug 1845150 - Use moz-message-bar instead of message-bar in notificationbox.js r=webdriver-reviewers,desktop-theme-reviewers,media-playback-reviewers,karlt,whimboo,tgiles,dao,devtools-reviewers
This patch updates the `NotificationMessage` element in `notificationbox.js` so that it extends our newer `moz-message-bar` component instead of the deprecated `message-bar` component. Many of the changes are just dealing with the implications of making things async (so that we can ensure `moz-message-bar.mjs` gets imported). I tried to break out places where I modified related code and tests into separate patches to mitigate some of the review pain here.

This patch solves a longstanding issue where we were loading `in-content/common-shared.css` in the chrome since it gets used by the `message-bar` element. It also makes some small visual changes to our infobars (slight outline, icon colors, adds a bit of spacing).

Differential Revision: https://phabricator.services.mozilla.com/D189872
2024-01-10 18:55:29 +00:00

54 lines
1.9 KiB
HTML

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<!--
XUL Widget Test for bug 509732
-->
<window title="Bug 509732" width="500" height="600"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<vbox id="nb" hidden="true"/>
<!-- test results are displayed in the html:body -->
<body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"
onload="test()"/>
<!-- test code goes here -->
<script type="application/javascript">
<![CDATA[
var gNotificationBox;
// Tests that a notification that is added in an hidden box didn't throw the animation
async function test() {
SimpleTest.waitForExplicitFinish();
gNotificationBox = new MozElements.NotificationBox(e => {
document.getElementById("nb").appendChild(e);
});
is(gNotificationBox.allNotifications.length, 0, "There should be no initial notifications");
await gNotificationBox.appendNotification("notification1",
{ label: "Test notification", priority: gNotificationBox.PRIORITY_INFO_LOW });
is(gNotificationBox.allNotifications.length, 1, "Notification exists");
is(gNotificationBox._animating, false, "Notification shouldn't be animating");
test1();
}
// Tests that a notification that is removed from an hidden box didn't throw the animation
function test1() {
let notification = gNotificationBox.getNotificationWithValue("notification1");
gNotificationBox.removeNotification(notification);
ok(!gNotificationBox.currentNotification, "Test 1 should show no current animation");
is(gNotificationBox._animating, false, "Notification shouldn't be animating");
is(gNotificationBox.allNotifications.length, 0, "Test 1 should show no notifications present");
SimpleTest.finish();
}
]]>
</script>
</window>