mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-07 08:59:08 +00:00
92 lines
2.5 KiB
JavaScript
92 lines
2.5 KiB
JavaScript
/* 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/. */
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "Chat",
|
|
"resource:///modules/Chat.jsm");
|
|
let openChatOrig = Chat.open;
|
|
|
|
const contact = {
|
|
name: [ "Mr Smith" ],
|
|
email: [{
|
|
type: "home",
|
|
value: "fakeEmail",
|
|
pref: true
|
|
}]
|
|
};
|
|
|
|
add_task(function test_startDirectCall_opens_window() {
|
|
let openedUrl;
|
|
Chat.open = function(contentWindow, origin, title, url) {
|
|
openedUrl = url;
|
|
return 1;
|
|
};
|
|
|
|
LoopCalls.startDirectCall(contact, "audio-video");
|
|
|
|
do_check_true(!!openedUrl, "should open a chat window");
|
|
|
|
// Stop the busy kicking in for following tests.
|
|
let windowId = openedUrl.match(/about:loopconversation\#(\d+)$/)[1];
|
|
LoopCalls.clearCallInProgress(windowId);
|
|
});
|
|
|
|
add_task(function test_startDirectCall_getConversationWindowData() {
|
|
let openedUrl;
|
|
Chat.open = function(contentWindow, origin, title, url) {
|
|
openedUrl = url;
|
|
return 2;
|
|
};
|
|
|
|
LoopCalls.startDirectCall(contact, "audio-video");
|
|
|
|
let windowId = openedUrl.match(/about:loopconversation\#(\d+)$/)[1];
|
|
|
|
let callData = MozLoopService.getConversationWindowData(windowId);
|
|
|
|
do_check_eq(callData.callType, "audio-video", "should have the correct call type");
|
|
do_check_eq(callData.contact, contact, "should have the contact details");
|
|
|
|
// Stop the busy kicking in for following tests.
|
|
LoopCalls.clearCallInProgress(windowId);
|
|
});
|
|
|
|
add_task(function test_startDirectCall_not_busy_if_window_fails_to_open() {
|
|
let openedUrl;
|
|
|
|
// Simulate no window available to open.
|
|
Chat.open = function(contentWindow, origin, title, url) {
|
|
openedUrl = url;
|
|
return null;
|
|
};
|
|
|
|
LoopCalls.startDirectCall(contact, "audio-video");
|
|
|
|
do_check_true(!!openedUrl, "should have attempted to open chat window");
|
|
|
|
openedUrl = null;
|
|
|
|
// Window opens successfully this time.
|
|
Chat.open = function(contentWindow, origin, title, url) {
|
|
openedUrl = url;
|
|
return 3;
|
|
};
|
|
|
|
LoopCalls.startDirectCall(contact, "audio-video");
|
|
|
|
do_check_true(!!openedUrl, "should open a chat window");
|
|
|
|
// Stop the busy kicking in for following tests.
|
|
let windowId = openedUrl.match(/about:loopconversation\#(\d+)$/)[1];
|
|
LoopCalls.clearCallInProgress(windowId);
|
|
});
|
|
|
|
function run_test() {
|
|
do_register_cleanup(function() {
|
|
// Revert original Chat.open implementation
|
|
Chat.open = openChatOrig;
|
|
});
|
|
|
|
run_next_test();
|
|
}
|