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/. */
const { MockFilePicker } = ChromeUtils.importESModule(
);
add_task(async function test_openMessageFromFilePicker() {
const expectedFilterLabel = await document.l10n.formatValue(
"messenger-eml-files-filter"
);
MockFilePicker.init();
MockFilePicker.returnValue = MockFilePicker.returnCancel;
let filterLabel;
let filterPattern;
MockFilePicker.appendFilterCallback = (_picker, label, pattern) => {
filterLabel = label;
filterPattern = pattern;
};
const pickerOpened = new Promise(resolve => {
MockFilePicker.afterOpenCallback = resolve;
});
try {
await window.MsgOpenFromFile();
const picker = await pickerOpened;
Assert.equal(picker.mode, Ci.nsIFilePicker.modeOpen);
Assert.equal(filterLabel, expectedFilterLabel);
Assert.equal(filterPattern, "*.eml");
} finally {
MockFilePicker.cleanup();
}
});