summaryrefslogtreecommitdiffstats
path: root/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp')
-rw-r--r--tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
index aa72be3ea8..5e7a40d3b5 100644
--- a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
+++ b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
@@ -1628,7 +1628,24 @@ void tst_QPrinter::resolution()
// Test set/get
int expected = 333;
#ifdef Q_OS_MAC
- // Set resolution does nothing on OSX, see QTBUG-7000
+ // QMacPrintEngine chooses the closest supported resolution.
+ const QList<int> all_supported = native.supportedResolutions();
+ foreach (int supported, all_supported) {
+ // Test setting a supported resolution
+ int requested = supported;
+ native.setResolution(requested);
+ QCOMPARE(native.resolution(), requested);
+
+ // Test setting an unsupported resolution
+ do {
+ requested += 5;
+ } while (all_supported.contains(requested));
+ native.setResolution(requested);
+ int result = native.resolution();
+ QVERIFY(all_supported.contains(result));
+ QVERIFY(qAbs(result - requested) <= qAbs(supported - requested));
+ }
+
expected = native.resolution();
#endif // Q_OS_MAC
native.setResolution(expected);