Revision control

Copy as Markdown

Other Tools

/* 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/. */
add_task(async () => {
await testCheckboxes(
"paneChat",
"chatPaneCategory",
{
checkboxID: "reportIdle",
pref: "messenger.status.reportIdle",
enabledElements: ["#autoAway", "#timeBeforeAway"],
},
{
checkboxID: "sendTyping",
pref: "purple.conversations.im.send_typing",
},
{
checkboxID: "desktopChatNotifications",
pref: "mail.chat.show_desktop_notifications",
},
{
checkboxID: "getAttention",
pref: "messenger.options.getAttentionOnNewMessages",
},
{
checkboxID: "chatNotification",
pref: "mail.chat.play_sound",
enabledElements: ["#chatSoundType radio"],
}
);
Services.prefs.setBoolPref("messenger.status.reportIdle", true);
await testCheckboxes("paneChat", "chatPaneCategory", {
checkboxID: "autoAway",
pref: "messenger.status.awayWhenIdle",
enabledElements: ["#defaultIdleAwayMessage"],
});
Services.prefs.setBoolPref("mail.chat.play_sound", true);
await testRadioButtons("paneChat", "chatPaneCategory", {
pref: "mail.chat.play_sound.type",
states: [
{
id: "chatSoundSystemSound",
prefValue: 0,
},
{
id: "chatSoundCustom",
prefValue: 1,
enabledElements: ["#chatSoundUrlLocation", "#browseForChatSound"],
},
],
});
});
add_task(async function testMessageStylePreview() {
await openNewPrefsTab("paneChat", "chatPaneCategory");
const conversationLoad = TestUtils.topicObserved("conversation-loaded");
const [subject] = await conversationLoad;
do {
await BrowserTestUtils.waitForEvent(subject, "MessagesDisplayed");
} while (subject.getPendingMessagesCount() > 0);
const messageParent = subject.contentChatNode;
let message = messageParent.firstElementChild;
const messages = new Set();
while (message) {
ok(message._originalMsg);
messages.add(message._originalMsg);
message = message.nextElementSibling;
}
is(messages.size, 3, "All 3 messages displayed");
await closePrefsTab();
});