mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
Bug 1051754 - B2G NFC: Add marionette test for peer.sendFile. r=dimi
From 3cfb06874b6e838ad76e1817c7b69df81e0f802b Mon Sep 17 00:00:00 2001 --- dom/nfc/tests/marionette/head.js | 20 +++++++-- dom/nfc/tests/marionette/manifest.ini | 1 + dom/nfc/tests/marionette/test_nfc_peer_sendFile.js | 49 ++++++++++++++++++++++ 3 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 dom/nfc/tests/marionette/test_nfc_peer_sendFile.js
This commit is contained in:
parent
60bc7c7efa
commit
aaf5ea2704
@ -60,19 +60,33 @@ let sysMsgHelper = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mDiscovered = [], mLost = [];
|
function sendFile(msg) {
|
||||||
|
log("system message nfc-manager-send-file");
|
||||||
|
let send = mSendFile.shift();
|
||||||
|
if (send) {
|
||||||
|
send(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let mDiscovered = [], mLost = [], mSendFile = [];
|
||||||
window.navigator.mozSetMessageHandler("nfc-manager-tech-discovered",
|
window.navigator.mozSetMessageHandler("nfc-manager-tech-discovered",
|
||||||
techDiscovered);
|
techDiscovered);
|
||||||
window.navigator.mozSetMessageHandler("nfc-manager-tech-lost", techLost);
|
window.navigator.mozSetMessageHandler("nfc-manager-tech-lost", techLost);
|
||||||
|
window.navigator.mozSetMessageHandler("nfc-manager-send-file", sendFile);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
waitForTechDiscovered: function (discovered) {
|
waitForTechDiscovered: function(discovered) {
|
||||||
mDiscovered.push(discovered);
|
mDiscovered.push(discovered);
|
||||||
},
|
},
|
||||||
|
|
||||||
waitForTechLost: function (lost) {
|
waitForTechLost: function(lost) {
|
||||||
mLost.push(lost);
|
mLost.push(lost);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
waitForSendFile: function(sendFile) {
|
||||||
|
mSendFile.push(sendFile);
|
||||||
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
}());
|
}());
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ qemu=true
|
|||||||
[test_nfc_manager_tech_lost.js]
|
[test_nfc_manager_tech_lost.js]
|
||||||
[test_nfc_peer.js]
|
[test_nfc_peer.js]
|
||||||
[test_nfc_peer_sendndef.js]
|
[test_nfc_peer_sendndef.js]
|
||||||
|
[test_nfc_peer_sendFile.js]
|
||||||
[test_nfc_read_tag.js]
|
[test_nfc_read_tag.js]
|
||||||
[test_nfc_checkP2PRegistration.js]
|
[test_nfc_checkP2PRegistration.js]
|
||||||
[test_nfc_error_messages.js]
|
[test_nfc_error_messages.js]
|
||||||
|
49
dom/nfc/tests/marionette/test_nfc_peer_sendFile.js
Normal file
49
dom/nfc/tests/marionette/test_nfc_peer_sendFile.js
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/* Any copyright is dedicated to the Public Domain.
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||||
|
|
||||||
|
MARIONETTE_TIMEOUT = 30000;
|
||||||
|
MARIONETTE_HEAD_JS = "head.js";
|
||||||
|
|
||||||
|
let MANIFEST_URL = "app://system.gaiamobile.org/manifest.webapp";
|
||||||
|
|
||||||
|
function sendFile(msg) {
|
||||||
|
log("sendFile msg="+JSON.stringify(msg));
|
||||||
|
let peer = nfc.getNFCPeer(msg.sessionToken);
|
||||||
|
ok(peer instanceof MozNFCPeer, "should get a MozNFCPeer");
|
||||||
|
ok(msg.blob instanceof Blob, "should get a Blob");
|
||||||
|
|
||||||
|
nfc.peerready = null;
|
||||||
|
NCI.deactivate().then(() => toggleNFC(false)).then(runNextTest);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testSendFile() {
|
||||||
|
nfc.onpeerready = function(evt) {
|
||||||
|
let peer = evt.peer;
|
||||||
|
peer.sendFile(new Blob());
|
||||||
|
sysMsgHelper.waitForSendFile(sendFile);
|
||||||
|
};
|
||||||
|
|
||||||
|
sysMsgHelper.waitForTechDiscovered(function(msg) {
|
||||||
|
let request = nfc.checkP2PRegistration(MANIFEST_URL);
|
||||||
|
request.onsuccess = function(evt) {
|
||||||
|
is(request.result, true, "check for P2P registration result");
|
||||||
|
nfc.notifyUserAcceptedP2P(MANIFEST_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
request.onerror = function() {
|
||||||
|
ok(false, "checkP2PRegistration failed.");
|
||||||
|
toggleNFC(false).then(runNextTest);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
toggleNFC(true).then(() => NCI.activateRE(emulator.P2P_RE_INDEX_0));
|
||||||
|
}
|
||||||
|
|
||||||
|
let tests = [
|
||||||
|
testSendFile
|
||||||
|
];
|
||||||
|
|
||||||
|
SpecialPowers.pushPermissions(
|
||||||
|
[{"type": "nfc", "allow": true,
|
||||||
|
"read": true, 'write': true, context: document},
|
||||||
|
{"type": "nfc-manager", 'allow': true, context: document}], runTests);
|
Loading…
Reference in New Issue
Block a user