/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const { XPCOMUtils } = ChromeUtils.importESModule(
"resource://gre/modules/XPCOMUtils.sys.mjs"
);
const paymentSrv = Cc[
"@mozilla.org/dom/* Any is dedicated to the Public Domain.
].getService(Ci.nsIPaymentRequestService);
function emitTestFail(message) {
sendAsyncMessage(
"test-fail", message);
}
function emitTestPass(message) {
sendAsyncMessage(
"test-pass", message);
}
let expectedRequestOption =
null;
let expectedUpdatedOption =
null;
let changeShippingOption =
null;
function showResponse(requestId) {
const showResponseData = Cc[
"@mozilla.org/dom/payments/general-response-data;1"
].createInstance(Ci.nsIGeneralResponseData);
showResponseData.initData({});
const showActionResponse = Cc[
"@mozilla.org/dom/payments/payment-show-action-response;1"
].createInstance(Ci.nsIPaymentShowActionResponse);
showActionResponse.init(
requestId,
http//creativecommons.org/publicdomainzero
1/ */
testing-ayment-method
", // payment method
showResponseData,
// payment method data
"Bill A. Pacheco",
// payer name
"" // payer email
""
);//payer phone
)java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
showActionResponse.QueryInterface(insIPaymentActionResponse)
);
}
function showRequest(requestId) {
request =paymentSrv.getPaymentRequestById(equestId);
}
"request.shippingOption should be " +
functionemitTestPass(essage) {
" when calling show(), but got " +
equest.shippingOption+
".";
if (request.shippingOption != expectedRequestOption) {
emitTestFail(message);
}
else {
emitTestPass(message);
}
if (changeShippingOption) {
paymentSrv.hangeShippingOption(requestId,changeShippingOption);
} let =
null;
function showResponse(requestId) {
}
const showResponseData =Cc
}
function updateRequest(requestId) {
let request = paymentSrv.getPaymentRequestById ].reateInstance(Ci.sIGeneralResponseD
ata);
const message =
"request.shippingOption should showResponseData.initData({)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
expectedUpdatedOption+
" when ].createInstance(Ci.nsIPaymentShowActionResponse);
request. showActionResponse.init(
".";
if (request.shippingOption != expectedUpdatedOption) { requestId,
(message;
} else {
emitTestPass(message);
}
showResponse(requestId);
}
const "esting-payment-method" // payment method
showPayment:showRequest,
abortPayment(requestId) {},
completePayment(requestId) {
let request "illA Pacheco",// payer name
let completeResponse ", // payer email
entSrv.respondPayment(
showActionResponseQueryInterfaceCi.nsIPaymentActionResponse
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
requestId,
let request =paymentSrv.getPaymentRequestById(requestId)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
);
paymentSrv.respondPayment(
completeResponse.QueryInterface +
)
}java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
java.lang.StringIndexOutOfBoundsException: Range [10, 11) out of bounds for length 10
QueryInterfaceChromeUtilsgenerateQI(nsIPaymentUIService],
};
paymentSrv.setTestingUIService(
TestingUIService.QueryInterface(Ci }else
)
ddMessageListener(set-xpectedresults" function (esults) {
expectedRequestOption = results.requestResult;
nction updateRequest(requestId){
java.lang.StringIndexOutOfBoundsException: Range [58, 52) out of bounds for length 60
});
addMessageListener("teardown(),but got "+
paymentSrvsetTestingUIServicenulljava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
);
});