|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 * http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 MARIONETTE_TIMEOUT = 60000; |
|
5 |
|
6 SpecialPowers.setBoolPref("dom.sms.enabled", true); |
|
7 SpecialPowers.addPermission("sms", true, document); |
|
8 |
|
9 const SENDER = "5555552368"; // the remote number |
|
10 const RECEIVER = "15555215554"; // the emulator's number |
|
11 |
|
12 let manager = window.navigator.mozMobileMessage; |
|
13 ok(manager instanceof MozMobileMessageManager, |
|
14 "manager is instance of " + manager.constructor); |
|
15 |
|
16 let body = "Hello SMS world!"; |
|
17 |
|
18 let completed = false; |
|
19 runEmulatorCmd("sms send " + SENDER + " " + body, function(result) { |
|
20 log("Sent fake SMS: " + result); |
|
21 is(result[0], "OK", "Emulator command result"); |
|
22 completed = true; |
|
23 }); |
|
24 |
|
25 manager.onreceived = function onreceived(event) { |
|
26 log("Received an SMS!"); |
|
27 |
|
28 let message = event.message; |
|
29 ok(message instanceof MozSmsMessage, "Message is instanceof MozSmsMessage"); |
|
30 |
|
31 ok(message.threadId, "thread id"); |
|
32 is(message.delivery, "received", "Message delivery"); |
|
33 is(message.deliveryStatus, "success", "Delivery status"); |
|
34 is(message.sender, SENDER, "Message sender"); |
|
35 is(message.receiver, RECEIVER, "Message receiver"); |
|
36 is(message.body, body, "Message body"); |
|
37 is(message.messageClass, "normal", "Message class"); |
|
38 is(message.deliveryTimestamp, 0, "deliveryTimestamp is 0"); |
|
39 |
|
40 cleanUp(); |
|
41 }; |
|
42 |
|
43 function cleanUp() { |
|
44 if (!completed) { |
|
45 window.setTimeout(cleanUp, 100); |
|
46 return; |
|
47 } |
|
48 |
|
49 SpecialPowers.removePermission("sms", document); |
|
50 finish(); |
|
51 } |