summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-10-02 13:48:43 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-10-02 13:48:43 +0200
commit87e5e24f52f0702620cd6ff656db540f01a28cc5 (patch)
tree7f83b2423b1a06b21085a76da3347088ca30e8cf /tests
parentc5ebfb0c19deff34eea5099ba59750b746257d71 (diff)
parent46a83d5b86a792e62f14674e27c5d95695f2b44d (diff)
Merge remote-tracking branch 'origin/5.5' into 5.6
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/unit/qdeclarativecamera/tst_qdeclarativecamera.qml154
1 files changed, 154 insertions, 0 deletions
diff --git a/tests/auto/unit/qdeclarativecamera/tst_qdeclarativecamera.qml b/tests/auto/unit/qdeclarativecamera/tst_qdeclarativecamera.qml
index 833ca522b..02e32f4c9 100644
--- a/tests/auto/unit/qdeclarativecamera/tst_qdeclarativecamera.qml
+++ b/tests/auto/unit/qdeclarativecamera/tst_qdeclarativecamera.qml
@@ -144,4 +144,158 @@ TestCase {
cameraLoader.sourceComponent = undefined;
}
+
+ function test_supportedViewfinderResolutions_data() {
+ // see mockcameraviewfindersettingscontrol.h for expected values
+
+ return [
+ {
+ tag: "all",
+ minimumFrameRate: 0, maximumFrameRate: 0,
+ expectedResolutions: [
+ { width: 320, height: 240 },
+ { width: 640, height: 480 },
+ { width: 1280, height: 720 },
+ { width: 1920, height: 1080 }
+ ]
+ },
+ {
+ tag: "invalid minimumFrameRate",
+ minimumFrameRate: 2, maximumFrameRate: 0,
+ expectedResolutions: [ ]
+ },
+ {
+ tag: "minimumFrameRate=5",
+ minimumFrameRate: 5, maximumFrameRate: 0,
+ expectedResolutions: [
+ { width: 1920, height: 1080 }
+ ]
+ },
+ {
+ tag: "minimumFrameRate=10",
+ minimumFrameRate: 10, maximumFrameRate: 0,
+ expectedResolutions: [
+ { width: 1280, height: 720 }
+ ]
+ },
+ {
+ tag: "minimumFrameRate=30",
+ minimumFrameRate: 30, maximumFrameRate: 0,
+ expectedResolutions: [
+ { width: 320, height: 240 },
+ { width: 640, height: 480 },
+ { width: 1280, height: 720 }
+ ]
+ },
+ {
+ tag: "invalid maximumFrameRate",
+ minimumFrameRate: 0, maximumFrameRate: 2,
+ expectedResolutions: [ ]
+ },
+ {
+ tag: "maximumFrameRate=10",
+ minimumFrameRate: 0, maximumFrameRate: 10,
+ expectedResolutions: [
+ { width: 1280, height: 720 },
+ { width: 1920, height: 1080 }
+ ]
+ },
+ {
+ tag: "minimumFrameRate=10, maximumFrameRate=10",
+ minimumFrameRate: 10, maximumFrameRate: 10,
+ expectedResolutions: [
+ { width: 1280, height: 720 }
+ ]
+ },
+ {
+ tag: "minimumFrameRate=30, maximumFrameRate=30",
+ minimumFrameRate: 30, maximumFrameRate: 30,
+ expectedResolutions: [
+ { width: 320, height: 240 },
+ { width: 640, height: 480 },
+ { width: 1280, height: 720 }
+ ]
+ }
+ ]
+ }
+
+ function test_supportedViewfinderResolutions(data) {
+ cameraLoader.sourceComponent = cameraComponent;
+ var camera = cameraLoader.item;
+
+ var actualResolutions = camera.supportedViewfinderResolutions(data.minimumFrameRate, data.maximumFrameRate);
+ compare(actualResolutions.length, data.expectedResolutions.length);
+ for (var i = 0; i < actualResolutions.length; ++i) {
+ compare(actualResolutions[i].width, data.expectedResolutions[i].width);
+ compare(actualResolutions[i].height, data.expectedResolutions[i].height);
+ }
+
+ cameraLoader.sourceComponent = undefined;
+ }
+
+ function test_supportedViewfinderFrameRateRanges_data() {
+ // see mockcameraviewfindersettingscontrol.h for expected values
+ return [
+ {
+ tag: "all",
+ expectedFrameRateRanges: [
+ { minimumFrameRate: 5, maximumFrameRate: 10 },
+ { minimumFrameRate: 10, maximumFrameRate: 10 },
+ { minimumFrameRate: 30, maximumFrameRate: 30 }
+ ]
+ },
+ {
+ tag: "invalid",
+ resolution: { width: 452472, height: 444534 },
+ expectedFrameRateRanges: [ ]
+ },
+ {
+ tag: "320, 240",
+ resolution: { width: 320, height: 240 },
+ expectedFrameRateRanges: [
+ { minimumFrameRate: 30, maximumFrameRate: 30 }
+ ]
+ },
+ {
+ tag: "1280, 720",
+ resolution: { width: 1280, height: 720 },
+ expectedFrameRateRanges: [
+ { minimumFrameRate: 10, maximumFrameRate: 10 },
+ { minimumFrameRate: 30, maximumFrameRate: 30 }
+ ]
+ },
+ {
+ tag: "1920, 1080",
+ resolution: { width: 1920, height: 1080 },
+ expectedFrameRateRanges: [
+ { minimumFrameRate: 5, maximumFrameRate: 10 }
+ ]
+ }
+ ]
+ }
+
+ function test_supportedViewfinderFrameRateRanges(data) {
+ cameraLoader.sourceComponent = cameraComponent;
+ var camera = cameraLoader.item;
+
+ // Pass the resolution as an object
+ var actualFrameRateRanges = camera.supportedViewfinderFrameRateRanges(data.resolution);
+ compare(actualFrameRateRanges.length, data.expectedFrameRateRanges.length);
+ for (var i = 0; i < actualFrameRateRanges.length; ++i) {
+ compare(actualFrameRateRanges[i].minimumFrameRate, data.expectedFrameRateRanges[i].minimumFrameRate);
+ compare(actualFrameRateRanges[i].maximumFrameRate, data.expectedFrameRateRanges[i].maximumFrameRate);
+ }
+
+ // Pass the resolution as a size
+ if (typeof data.resolution !== 'undefined') {
+ actualFrameRateRanges = camera.supportedViewfinderFrameRateRanges(Qt.size(data.resolution.width, data.resolution.height));
+ compare(actualFrameRateRanges.length, data.expectedFrameRateRanges.length);
+ for (i = 0; i < actualFrameRateRanges.length; ++i) {
+ compare(actualFrameRateRanges[i].minimumFrameRate, data.expectedFrameRateRanges[i].minimumFrameRate);
+ compare(actualFrameRateRanges[i].maximumFrameRate, data.expectedFrameRateRanges[i].maximumFrameRate);
+ }
+ }
+
+ cameraLoader.sourceComponent = undefined;
+ }
}