diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-10-15 11:40:38 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-10-15 11:50:29 +0300 |
commit | 3607a9c92b6544dfeab59ac8d83ba1517e7cdc93 (patch) | |
tree | 3f9b4d0644dc799a96d7bb294c49900ebe2fcf12 /tests/auto/qmltest/scene3d | |
parent | 0eb5da28b49d770bbbe7b3e752df2fd2f66c4806 (diff) |
Added test for QML scene types
Also added missing version 1.2 properties to previously done
tests.
Task-number: QTRD-3368
Change-Id: Ifa5197cecc9bb95ca288a44ebcbd6fbcc0bf1e7d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Diffstat (limited to 'tests/auto/qmltest/scene3d')
-rw-r--r-- | tests/auto/qmltest/scene3d/tst_camera.qml | 94 | ||||
-rw-r--r-- | tests/auto/qmltest/scene3d/tst_light.qml | 38 | ||||
-rw-r--r-- | tests/auto/qmltest/scene3d/tst_scene.qml | 85 |
3 files changed, 213 insertions, 4 deletions
diff --git a/tests/auto/qmltest/scene3d/tst_camera.qml b/tests/auto/qmltest/scene3d/tst_camera.qml index 560f5583..c29de0c7 100644 --- a/tests/auto/qmltest/scene3d/tst_camera.qml +++ b/tests/auto/qmltest/scene3d/tst_camera.qml @@ -22,8 +22,98 @@ import QtTest 1.0 Item { id: top - height: 150 width: 150 + height: 150 + + Camera3D { + id: initial + } + + Camera3D { + id: initialized + maxZoomLevel: 1000.0 + minZoomLevel: 100.0 + target: Qt.vector3d(1.0, -1.0, 1.0) + wrapXRotation: false + wrapYRotation: true + xRotation: 30.0 + yRotation: 30.0 + zoomLevel: 500.0 + } + + Camera3D { + id: change + } + + TestCase { + name: "Camera3D Initial" + + function test_initial() { + compare(initial.cameraPreset, Camera3D.CameraPresetNone) + compare(initial.maxZoomLevel, 500.0) + compare(initial.minZoomLevel, 10.0) + compare(initial.target, Qt.vector3d(0.0, 0.0, 0.0)) + compare(initial.wrapXRotation, true) + compare(initial.wrapYRotation, false) + compare(initial.xRotation, 0.0) + compare(initial.yRotation, 0.0) + compare(initial.zoomLevel, 100.0) + } + } + + TestCase { + name: "Camera3D Initialized" + + function test_initialized() { + compare(initialized.maxZoomLevel, 1000.0) + compare(initialized.minZoomLevel, 100.0) + compare(initialized.target, Qt.vector3d(1.0, -1.0, 1.0)) + compare(initialized.wrapXRotation, false) + compare(initialized.wrapYRotation, true) + compare(initialized.xRotation, 30.0) + compare(initialized.yRotation, 30.0) + compare(initialized.zoomLevel, 500.0) + } + } + + TestCase { + name: "Camera3D Change" + + function test_1_change() { + change.cameraPreset = Camera3D.CameraPresetBehind // Will be overridden by the the following sets + change.maxZoomLevel = 1000.0 + change.minZoomLevel = 100.0 + change.target = Qt.vector3d(1.0, -1.0, 1.0) + change.wrapXRotation = false + change.wrapYRotation = true + change.xRotation = 30.0 + change.yRotation = 30.0 + change.zoomLevel = 500.0 + + compare(change.cameraPreset, Camera3D.CameraPresetNone) + compare(change.maxZoomLevel, 1000.0) + compare(change.minZoomLevel, 100.0) + compare(change.target, Qt.vector3d(1.0, -1.0, 1.0)) + compare(change.wrapXRotation, false) + compare(change.wrapYRotation, true) + compare(change.xRotation, 30.0) + compare(change.yRotation, 30.0) + compare(change.zoomLevel, 500.0) + } + + function test_2_change_preset() { + change.cameraPreset = Camera3D.CameraPresetBehind // Sets target and rotations + + compare(change.cameraPreset, Camera3D.CameraPresetBehind) + compare(change.maxZoomLevel, 1000.0) + compare(change.minZoomLevel, 100.0) + compare(change.target, Qt.vector3d(0.0, 0.0, 0.0)) + compare(change.wrapXRotation, false) + compare(change.wrapYRotation, true) + compare(change.xRotation, 180.0) + compare(change.yRotation, 22.5) + compare(change.zoomLevel, 500.0) + } - // TODO: Add tests for Camera3D + } } diff --git a/tests/auto/qmltest/scene3d/tst_light.qml b/tests/auto/qmltest/scene3d/tst_light.qml index 55a18a56..d9fa282b 100644 --- a/tests/auto/qmltest/scene3d/tst_light.qml +++ b/tests/auto/qmltest/scene3d/tst_light.qml @@ -25,5 +25,41 @@ Item { height: 150 width: 150 - // TODO: Add tests for Light3D + // TODO: Has no adjustable properties yet. + // Keeping this as a placeholder for future implementations (QTRD-2406) + /* + Light3D { + id: initial + } + + Light3D { + id: initialized + } + + + Light3D { + id: change + } + + TestCase { + name: "Light3D Initial" + + function test_initial() { + } + } + + TestCase { + name: "Light3D Initialized" + + function test_initialized() { + } + } + + TestCase { + name: "Light3D Change" + + function test_change() { + } + } + */ } diff --git a/tests/auto/qmltest/scene3d/tst_scene.qml b/tests/auto/qmltest/scene3d/tst_scene.qml index 348ae646..8d497b5c 100644 --- a/tests/auto/qmltest/scene3d/tst_scene.qml +++ b/tests/auto/qmltest/scene3d/tst_scene.qml @@ -25,5 +25,88 @@ Item { height: 150 width: 150 - // TODO: Add tests for Scene3D + // Scene3D is uncreatable, so it needs to be accessed via a graph + Bars3D { + id: initial + } + + Bars3D { + id: initialized + scene.activeCamera: Camera3D { zoomLevel: 200 } + scene.devicePixelRatio: 2.0 + //scene.graphPositionQuery: Qt.point(0, 0) // TODO: Unusable until QTBUG-40043 is fixed + scene.primarySubViewport: Qt.rect(0, 0, 50, 50) + scene.secondarySubViewport: Qt.rect(50, 50, 100, 100) + scene.secondarySubviewOnTop: false + scene.selectionQueryPosition: Qt.point(0, 0) + scene.slicingActive: true + } + + Bars3D { + id: change + } + + TestCase { + name: "Scene3D Initial" + + function test_initial() { + verify(initial.scene.activeCamera) + verify(initial.scene.activeLight) + compare(initial.scene.devicePixelRatio, 1.0) + compare(initial.scene.graphPositionQuery, Qt.point(-1, -1)) + compare(initial.scene.invalidSelectionPoint, Qt.point(-1, -1)) + compare(initial.scene.primarySubViewport, Qt.rect(0, 0, 0, 0)) + compare(initial.scene.secondarySubViewport, Qt.rect(0, 0, 0, 0)) + compare(initial.scene.secondarySubviewOnTop, true) + compare(initial.scene.selectionQueryPosition, Qt.point(-1, -1)) + compare(initial.scene.slicingActive, false) + compare(initial.scene.viewport, Qt.rect(0, 0, 0, 0)) + } + } + + TestCase { + name: "Scene3D Initialized" + + function test_initialized() { + compare(initialized.scene.activeCamera.zoomLevel, 200) + compare(initialized.scene.devicePixelRatio, 2.0) + //compare(initialized.scene.graphPositionQuery, Qt.point(0, 0)) // TODO: Unusable until QTBUG-40043 is fixed + compare(initialized.scene.primarySubViewport, Qt.rect(0, 0, 50, 50)) + compare(initialized.scene.secondarySubViewport, Qt.rect(50, 50, 100, 100)) + compare(initialized.scene.secondarySubviewOnTop, false) + compare(initialized.scene.selectionQueryPosition, Qt.point(0, 0)) + compare(initialized.scene.slicingActive, true) + compare(initialized.scene.viewport, Qt.rect(0, 0, 100, 100)) + } + } + + TestCase { + name: "Scene3D Change" + + Camera3D { + id: camera1 + zoomLevel: 200 + } + + function test_change() { + change.scene.activeCamera = camera1 + change.scene.devicePixelRatio = 2.0 + change.scene.graphPositionQuery = Qt.point(0, 0) + change.scene.primarySubViewport = Qt.rect(0, 0, 50, 50) + change.scene.secondarySubViewport = Qt.rect(50, 50, 100, 100) + change.scene.secondarySubviewOnTop = false + change.scene.selectionQueryPosition = Qt.point(0, 0) // TODO: When doing signal checks, add tests to check that queries return something (asynchronously) + change.scene.slicingActive = true + + compare(change.scene.activeCamera.zoomLevel, 200) + compare(change.scene.devicePixelRatio, 2.0) + compare(change.scene.graphPositionQuery, Qt.point(0, 0)) + compare(change.scene.primarySubViewport, Qt.rect(0, 0, 50, 50)) + compare(change.scene.secondarySubViewport, Qt.rect(50, 50, 100, 100)) + compare(change.scene.secondarySubviewOnTop, false) + compare(change.scene.selectionQueryPosition, Qt.point(0, 0)) + compare(change.scene.slicingActive, true) + compare(change.scene.viewport, Qt.rect(0, 0, 100, 100)) + } + } } |