summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-10-15 11:40:38 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-10-15 11:50:29 +0300
commit3607a9c92b6544dfeab59ac8d83ba1517e7cdc93 (patch)
tree3f9b4d0644dc799a96d7bb294c49900ebe2fcf12 /tests
parent0eb5da28b49d770bbbe7b3e752df2fd2f66c4806 (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')
-rw-r--r--tests/auto/qmltest/qmltest.pro10
-rw-r--r--tests/auto/qmltest/scene3d/tst_camera.qml94
-rw-r--r--tests/auto/qmltest/scene3d/tst_light.qml38
-rw-r--r--tests/auto/qmltest/scene3d/tst_scene.qml85
-rw-r--r--tests/auto/qmltest/surface3d/tst_surfaceseries.qml4
-rw-r--r--tests/auto/qmltest/theme3d/tst_themecolor.qml2
6 files changed, 223 insertions, 10 deletions
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")