Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'android'
- Manifest: layout/base/tests/chrome/chrome.toml
<!DOCTYPE HTML>
<html>
<head>
</head>
<body onload="run()">
<script>
SimpleTest.waitForExplicitFinish();
async function run() {
try {
let printerList = Cc["@mozilla.org/gfx/printerlist;1"].getService(
Ci.nsIPrinterList
);
var settingsSvc = Cc["@mozilla.org/gfx/printsettings-service;1"].getService(
Ci.nsIPrintSettingsService
);
let printers = await printerList.printers;
for (let printer of printers) {
printer.QueryInterface(Ci.nsIPrinter);
let printerInfo = await printer.printerInfo;
// Look up the printer's defaultSettings:
let defaultSettings = printerInfo.defaultSettings;
// Let the printer impose its defaults onto a fresh settings object:
let freshSettings = settingsSvc.createNewPrintSettings();
printerList.initPrintSettingsFromPrinter(printer.name, freshSettings);
// Make sure they agree on the default orientation:
is(freshSettings.orientation, defaultSettings.orientation,
"initPrintSettingsFromPrinter should produce the same orientation " +
"as the printer's defaultSettings");
}
// This ok() just lets us avoid failure-due-to-no-tests-being-run, on
// devices that have no printers available & hence skip the loop above:
ok(true, "Finished traversing printers.");
} catch (e) {
ok(false, `Error thrown while retrieving printer info: ${e}.`);
console.error(e);
}
SimpleTest.finish();
}
</script>
</body>
</html>