diff --git a/tests/auto/qml-qtquicktest/tst_categoryaxis_2_0.qml b/tests/auto/qml-qtquicktest/tst_categoryaxis_2_0.qml new file mode 100644 index 0000000..42d226b --- /dev/null +++ b/tests/auto/qml-qtquicktest/tst_categoryaxis_2_0.qml @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd +** All rights reserved. +** For any questions to The Qt Company, please use contact form at http://qt.io +** +** This file is part of the Qt Charts module. +** +** Licensees holding valid commercial license for Qt may use this file in +** accordance with the Qt License Agreement provided with the Software +** or, alternatively, in accordance with the terms contained in a written +** agreement between you and The Qt Company. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.io +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 +import QtCharts 2.0 + +Rectangle { + width: 400 + height: 300 + + TestCase { + id: tc1 + name: "tst_qml-qtquicktest CategoryAxis" + when: windowShown + + function test_minMax() { + compare(lineSeries1.axisX.min, 0, "AxisX min"); + compare(lineSeries1.axisX.max, 10, "AxisX max"); + compare(lineSeries1.axisY.min, 0, "AxisY min"); + compare(lineSeries1.axisY.max, 10, "AxisY max"); + } + + function test_categories() { + compare(lineSeries1.axisY.startValue, 0, "AxisY start value"); + compare(lineSeries1.axisY.count, 3, "AxisY count"); + compare(lineSeries1.axisY.categoriesLabels[0], "label0", "AxisY categories labels"); + compare(lineSeries1.axisY.categoriesLabels[1], "label1", "AxisY categories labels"); + compare(lineSeries1.axisY.categoriesLabels[2], "label2", "AxisY categories labels"); + } + + function test_signals() { + axisLabelsPositionSpy.clear(); + lineSeries1.axisY.labelsPosition = CategoryAxis.AxisLabelsPositionOnValue; + compare(axisLabelsPositionSpy.count, 1, "onLabelsPositionChanged"); + } + } + + ChartView { + id: chartView + anchors.fill: parent + + LineSeries { + id: lineSeries1 + axisX: ValueAxis { + id: axisX + min: 0 + max: 10 + } + axisY: CategoryAxis { + id: axisY + min: 0 + max: 10 + startValue: 0 + CategoryRange { + label: "label0" + endValue: 1 + } + CategoryRange { + label: "label1" + endValue: 3 + } + CategoryRange { + label: "label2" + endValue: 10 + } + SignalSpy { + id: axisLabelsPositionSpy + target: axisY + signalName: "labelsPositionChanged" + } + } + XYPoint { x: -1; y: -1 } + XYPoint { x: 0; y: 0 } + XYPoint { x: 5; y: 5 } + } + } +} diff --git a/tests/auto/qml-qtquicktest/tst_chartview_2_0.qml b/tests/auto/qml-qtquicktest/tst_chartview_2_0.qml new file mode 100644 index 0000000..67b9155 --- /dev/null +++ b/tests/auto/qml-qtquicktest/tst_chartview_2_0.qml @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd +** All rights reserved. +** For any questions to The Qt Company, please use contact form at http://qt.io +** +** This file is part of the Qt Charts module. +** +** Licensees holding valid commercial license for Qt may use this file in +** accordance with the Qt License Agreement provided with the Software +** or, alternatively, in accordance with the terms contained in a written +** agreement between you and The Qt Company. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.io +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 +import QtCharts 2.0 + +Rectangle { + width: 400 + height: 300 + + TestCase { + id: tc1 + name: "tst_qml-qtquicktest ChartView Properties" + when: windowShown + + function test_chartViewProperties() { + compare(chartView.animationOptions, ChartView.NoAnimation, "ChartView.animationOptions"); + verify(chartView.backgroundColor != undefined); + verify(chartView.margins.bottom > 0, "ChartView.margins.bottom"); + verify(chartView.margins.top > 0, "ChartView.margins.top"); + verify(chartView.margins.left > 0, "ChartView.margins.left"); + verify(chartView.margins.right > 0, "ChartView.margins.right"); + compare(chartView.count, 0, "ChartView.count"); + compare(chartView.dropShadowEnabled, false, "ChartView.dropShadowEnabled"); + verify(chartView.plotArea.height > 0, "ChartView.plotArea.height"); + verify(chartView.plotArea.width > 0, "ChartView.plotArea.width"); + verify(chartView.plotArea.x > 0, "ChartView.plotArea.x"); + verify(chartView.plotArea.y > 0, "ChartView.plotArea.y"); + compare(chartView.theme, ChartView.ChartThemeLight, "ChartView.theme"); + compare(chartView.title, "", "ChartView.title"); + compare(chartView.title, "", "ChartView.title"); + verify(chartView.titleColor != undefined, "ChartView.titleColor"); + compare(chartView.titleFont.bold, false, "ChartView.titleFont.bold"); + // Legend + compare(chartView.legend.visible, true, "ChartView.legend.visible"); + compare(chartView.legend.alignment, Qt.AlignTop, "ChartView.legend.alignment"); + compare(chartView.legend.backgroundVisible, false, "ChartView.legend.backgroundVisible"); + verify(chartView.legend.borderColor != undefined, "ChartView.legend.borderColor"); + verify(chartView.legend.color != undefined, "ChartView.legend.color"); + compare(chartView.legend.reverseMarkers, false, "ChartView.legend.reverseMarkers"); + // Legend font + compare(chartView.legend.font.bold, false, "ChartView.legend.font.bold"); + compare(chartView.legend.font.capitalization, Font.MixedCase, "ChartView.legend.font.capitalization"); + verify(chartView.legend.font.family != "", "ChartView.legend.font.family"); + compare(chartView.legend.font.italic, false, "ChartView.legend.font.italic"); + compare(chartView.legend.font.letterSpacing, 0.0, "ChartView.legend.font.letterSpacing"); + verify(chartView.legend.font.pixelSize > 0 + && chartView.legend.font.pixelSize < 50, "ChartView.legend.font.pixelSize"); + verify(chartView.legend.font.pointSize > 0 + && chartView.legend.font.pointSize < 50, "ChartView.legend.font.pointSize"); + compare(chartView.legend.font.strikeout, false, "ChartView.legend.font.strikeout"); + compare(chartView.legend.font.underline, false, "ChartView.legend.font.underline"); + compare(chartView.legend.font.weight, Font.Normal, "ChartView.legend.font.weight"); + compare(chartView.legend.font.wordSpacing, 0.0, "ChartView.legend.font.wordSpacing"); + } + } + + ChartView { + id: chartView + anchors.fill: parent + } +} diff --git a/tests/auto/qml-qtquicktest/tst_valueaxis.qml b/tests/auto/qml-qtquicktest/tst_valueaxis.qml index cf4f6d3..99a2545 100644 --- a/tests/auto/qml-qtquicktest/tst_valueaxis.qml +++ b/tests/auto/qml-qtquicktest/tst_valueaxis.qml @@ -18,7 +18,7 @@ import QtQuick 2.0 import QtTest 1.0 -import QtCharts 2.0 +import QtCharts 2.1 Rectangle { width: 400 diff --git a/tests/auto/qml-qtquicktest/tst_valueaxis_2_0.qml b/tests/auto/qml-qtquicktest/tst_valueaxis_2_0.qml new file mode 100644 index 0000000..34c2f9e --- /dev/null +++ b/tests/auto/qml-qtquicktest/tst_valueaxis_2_0.qml @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd +** All rights reserved. +** For any questions to The Qt Company, please use contact form at http://qt.io +** +** This file is part of the Qt Charts module. +** +** Licensees holding valid commercial license for Qt may use this file in +** accordance with the Qt License Agreement provided with the Software +** or, alternatively, in accordance with the terms contained in a written +** agreement between you and The Qt Company. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.io +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 +import QtCharts 2.0 + +Rectangle { + width: 400 + height: 300 + + TestCase { + id: tc1 + name: "tst_qml-qtquicktest ValueAxis" + when: windowShown + + // test functions are run in alphabetical order, the name has 'a' so that it + // will be the first function to execute. + function test_a_properties() { + // Default properties + verify(axisX.min < 0, "AxisX min"); + verify(axisX.max > 0, "AxisX max"); + verify(axisY.min < 0, "AxisY min"); + verify(axisY.max > 0, "AxisY max"); + verify(axisX.tickCount == 5, "AxisX tick count"); + verify(axisY.tickCount == 5, "AxisY tick count"); + verify(axisX.labelFormat == "", "label format"); + + // Modify properties + axisX.tickCount = 3; + verify(axisX.tickCount == 3, "set tick count"); + } + + function test_functions() { + // Set the axis ranges to not "nice" ones... + var min = 0.032456456; + var max = 10.67845634; + axisX.min = min; + axisX.max = max; + axisY.min = min; + axisY.max = max; + + // ...And then apply nice numbers and verify the range was changed + axisX.applyNiceNumbers(); + axisY.applyNiceNumbers(); + verify(axisX.min != min); + verify(axisX.max != max); + verify(axisY.min != min); + verify(axisY.max != max); + } + + function test_signals() { + minChangedSpy.clear(); + maxChangedSpy.clear(); + + axisX.min = 2; + compare(minChangedSpy.count, 1, "onMinChanged"); + compare(maxChangedSpy.count, 0, "onMaxChanged"); + + axisX.max = 8; + compare(minChangedSpy.count, 1, "onMinChanged"); + compare(maxChangedSpy.count, 1, "onMaxChanged"); + + // restore original values + axisX.min = 0; + axisX.max = 10; + compare(minChangedSpy.count, 2, "onMinChanged"); + compare(maxChangedSpy.count, 2, "onMaxChanged"); + } + } + + ChartView { + id: chartView + anchors.fill: parent + + LineSeries { + id: lineSeries1 + axisX: ValueAxis { + id: axisX + } + axisY: ValueAxis { + id: axisY + } + XYPoint { x: -1; y: -1 } + XYPoint { x: 0; y: 0 } + XYPoint { x: 5; y: 5 } + } + + SignalSpy { + id: minChangedSpy + target: axisX + signalName: "minChanged" + } + SignalSpy { + id: maxChangedSpy + target: axisX + signalName: "maxChanged" + } + } +}