From 3607a9c92b6544dfeab59ac8d83ba1517e7cdc93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 15 Oct 2014 11:40:38 +0300 Subject: 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 --- tests/auto/qmltest/qmltest.pro | 10 +-- tests/auto/qmltest/scene3d/tst_camera.qml | 94 +++++++++++++++++++++- tests/auto/qmltest/scene3d/tst_light.qml | 38 ++++++++- tests/auto/qmltest/scene3d/tst_scene.qml | 85 ++++++++++++++++++- tests/auto/qmltest/surface3d/tst_surfaceseries.qml | 4 + tests/auto/qmltest/theme3d/tst_themecolor.qml | 2 +- 6 files changed, 223 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro index 69d39def..f660f759 100644 --- a/tests/auto/qmltest/qmltest.pro +++ b/tests/auto/qmltest/qmltest.pro @@ -20,15 +20,15 @@ OTHER_FILES += bars3d\tst_basic.qml \ theme3d\tst_themecolor.qml \ custom3d\tst_customitem.qml \ custom3d\tst_customlabel.qml \ - custom3d\tst_customvolume.qml #\ -# scene3d\tst_scene.qml \ -# scene3d\tst_camera.qml \ -# scene3d\tst_light.qml \ + custom3d\tst_customvolume.qml \ + scene3d\tst_scene.qml \ + scene3d\tst_camera.qml \ + scene3d\tst_light.qml #\ # axis3d\tst_category.qml \ # axis3d\tst_value.qml \ # axis3d\tst_logvalue.qml -# TODO: Check new QML types (and properties) in 1.2 (only customvolume added for now) +# TODO: Check new QML types in 1.2 RESOURCES += \ qmltest.qrc 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)) + } + } } diff --git a/tests/auto/qmltest/surface3d/tst_surfaceseries.qml b/tests/auto/qmltest/surface3d/tst_surfaceseries.qml index 866a04b9..dff2e4a8 100644 --- a/tests/auto/qmltest/surface3d/tst_surfaceseries.qml +++ b/tests/auto/qmltest/surface3d/tst_surfaceseries.qml @@ -67,6 +67,7 @@ Item { drawMode: Surface3DSeries.DrawSurface flatShadingEnabled: false selectedPoint: Qt.point(0, 0) + textureFile: ":\customtexture.jpg" baseColor: "blue" baseGradient: gradient1 @@ -143,6 +144,7 @@ Item { compare(initialized.drawMode, Surface3DSeries.DrawSurface) compare(initialized.flatShadingEnabled, false) compare(initialized.selectedPoint, Qt.point(0, 0)) + compare(initialized.textureFile, ":\customtexture.jpg") } function test_2_initialized_common() { @@ -173,6 +175,7 @@ Item { change.drawMode = Surface3DSeries.DrawSurface change.flatShadingEnabled = false change.selectedPoint = Qt.point(0, 0) + change.textureFile = ":\customtexture.jpg" } function test_2_test_change() { @@ -181,6 +184,7 @@ Item { compare(change.drawMode, Surface3DSeries.DrawSurface) compare(change.flatShadingEnabled, false) compare(change.selectedPoint, Qt.point(0, 0)) + compare(change.textureFile, ":\customtexture.jpg") } function test_3_change_common() { diff --git a/tests/auto/qmltest/theme3d/tst_themecolor.qml b/tests/auto/qmltest/theme3d/tst_themecolor.qml index d7dd3490..421a5775 100644 --- a/tests/auto/qmltest/theme3d/tst_themecolor.qml +++ b/tests/auto/qmltest/theme3d/tst_themecolor.qml @@ -57,7 +57,7 @@ Item { TestCase { name: "ThemeColor Change" - function test_1_change() { + function test_change() { change.color = "blue" compare(change.color, "#0000ff") -- cgit v1.2.3