##// END OF EJS Templates
Added isZoomed method to ChartView...
Added isZoomed method to ChartView isZoomed() method added also the the QML side. Change-Id: Ic0e878bb383316f37a4136d4b920849f1f1853ef Task-number: QTRD-3667 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>

File last commit:

r2813:643291cd617f
r2813:643291cd617f
Show More
tst_chartviewfunctions.qml
227 lines | 9.2 KiB | application/x-qml | QmlLexer
/ tests / auto / qml-qtquicktest / tst_chartviewfunctions.qml
Tero Ahola
Unit test module for QML API
r2206 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Tero Ahola
Unit test module for QML API
r2206 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
Tero Ahola
Unit test module for QML API
r2206 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Tero Ahola
Unit test module for QML API
r2206 **
Titta Heikkala
Updated license headers...
r2740 ** 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
Titta Heikkala
Copyright header changes...
r2776 ** agreement between you and The Qt Company.
Tero Ahola
Unit test module for QML API
r2206 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Tero Ahola
Unit test module for QML API
r2206 **
****************************************************************************/
Titta Heikkala
Fix Charts QML api auto test...
r2638 import QtQuick 2.0
import QtTest 1.0
Titta Heikkala
Added zooming functions to ChartView...
r2788 import QtCharts 2.1
Tero Ahola
Unit test module for QML API
r2206
Rectangle {
width: 400
height: 300
TestCase {
id: tc1
Tero Ahola
Renamed QML QtQuick tests to match the naming convention
r2228 name: "tst_qml-qtquicktest ChartView Functions"
Tero Ahola
Unit test module for QML API
r2206 when: windowShown
Titta Heikkala
Added zooming functions to ChartView...
r2788 property rect zoomRect
Tero Ahola
Unit test module for QML API
r2206
function test_chartViewSeriesAndAxes() {
// Create XY series
var line = chartView.createSeries(ChartView.SeriesTypeLine, "line");
verify(line != null && line != undefined);
var spline = chartView.createSeries(ChartView.SeriesTypeSpline, "spline");
verify(spline != null && spline != undefined);
var scatter = chartView.createSeries(ChartView.SeriesTypeScatter, "scatter");
verify(scatter != null && scatter != undefined);
// Create a series with specific axes
var line2 = chartView.createSeries(ChartView.SeriesTypeLine, "line2", chartView.axisX(line), chartView.axisY(line));
// Check that all the XY series use the same axes
verify(chartView.axisX(line) != null);
verify(chartView.axisY(line) != null);
compare(chartView.axisX(line), chartView.axisX(line2));
compare(chartView.axisY(line), chartView.axisY(line2));
compare(chartView.axisX(line), chartView.axisX(spline));
compare(chartView.axisY(line), chartView.axisY(spline));
compare(chartView.axisX(line), chartView.axisX(scatter));
compare(chartView.axisY(line), chartView.axisY(scatter));
var bar = chartView.createSeries(ChartView.SeriesTypeBar, "bar");
verify(bar != null && bar != undefined);
var stackedbar = chartView.createSeries(ChartView.SeriesTypeStackedBar, "stackedbar");
verify(stackedbar != null && stackedbar != undefined);
var percentbar = chartView.createSeries(ChartView.SeriesTypePercentBar, "percentbar");
verify(percentbar != null && percentbar != undefined);
var horizontalbar = chartView.createSeries(ChartView.SeriesTypeHorizontalBar, "horizontalbar");
verify(horizontalbar != null && horizontalbar != undefined);
var horizontalstackedbar = chartView.createSeries(ChartView.SeriesTypeHorizontalStackedBar, "horizontalstackedbar");
verify(horizontalstackedbar != null && horizontalstackedbar != undefined);
var horizontalpercentbar = chartView.createSeries(ChartView.SeriesTypeHorizontalPercentBar, "horizontalpercentbar");
verify(horizontalpercentbar != null && horizontalpercentbar != undefined);
var area = chartView.createSeries(ChartView.SeriesTypeArea, "area");
verify(area != null && area != undefined);
// Remove all series
chartView.removeAllSeries();
compare(chartView.count, 0);
}
function test_chartViewRange() {
// Set initial values
chartView.createSeries(ChartView.SeriesTypeLine, "line");
verify(chartView.axisX() != null);
verify(chartView.axisY() != null);
chartView.axisX().min = 1.0;
chartView.axisX().max = 2.0;
chartView.axisY().min = 1.0;
chartView.axisY().max = 2.0;
Titta Heikkala
Added zooming functions to ChartView...
r2788 var xMaxOriginal = chartView.axisX().max;
var xMinOriginal = chartView.axisX().min;
var yMaxOriginal = chartView.axisY().max;
var yMinOriginal = chartView.axisY().min;
Tero Ahola
Unit test module for QML API
r2206 var xMax = chartView.axisX().max;
var xMin = chartView.axisX().min;
var yMax = chartView.axisY().max;
var yMin = chartView.axisY().min;
// zoom x 2.5
chartView.zoom(1.5);
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Tero Ahola
Unit test module for QML API
r2206 verify(chartView.axisX().max < xMax);
verify(chartView.axisX().min > xMin);
verify(chartView.axisY().max < yMax);
verify(chartView.axisY().min > yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
// zoom x 0.5
chartView.zoom(0.5);
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Tero Ahola
Unit test module for QML API
r2206 verify(chartView.axisX().max > xMax);
verify(chartView.axisX().min < xMin);
verify(chartView.axisY().max > yMax);
verify(chartView.axisY().min < yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
Titta Heikkala
Added zooming functions to ChartView...
r2788 // zoom x -1
// negative value has no effect
chartView.zoom(-1);
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Titta Heikkala
Added zooming functions to ChartView...
r2788 verify(chartView.axisX().max === xMax);
verify(chartView.axisX().min === xMin);
verify(chartView.axisY().max === yMax);
verify(chartView.axisY().min === yMin);
// zoom in
chartView.zoomIn();
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Titta Heikkala
Added zooming functions to ChartView...
r2788 verify(chartView.axisX().max < xMax);
verify(chartView.axisX().min > xMin);
verify(chartView.axisY().max < yMax);
verify(chartView.axisY().min > yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
// zoom in rect
zoomRect.x = 100;
zoomRect.y = 100;
zoomRect.width = 120;
zoomRect.height = 120;
chartView.zoomIn(zoomRect);
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Titta Heikkala
Added zooming functions to ChartView...
r2788 verify(chartView.axisX().max < xMax);
verify(chartView.axisX().min > xMin);
verify(chartView.axisY().max < yMax);
verify(chartView.axisY().min > yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
// zoom out
chartView.zoomOut();
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(chartView.isZoomed());
Titta Heikkala
Added zooming functions to ChartView...
r2788 verify(chartView.axisX().max > xMax);
verify(chartView.axisX().min < xMin);
verify(chartView.axisY().max > yMax);
verify(chartView.axisY().min < yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
// zoom reset
chartView.zoomReset();
Titta Heikkala
Added isZoomed method to ChartView...
r2813 verify(!chartView.isZoomed());
Titta Heikkala
Added zooming functions to ChartView...
r2788 verify(chartView.axisX().max === xMaxOriginal);
verify(chartView.axisX().min === xMinOriginal);
verify(chartView.axisY().max === yMaxOriginal);
verify(chartView.axisY().min === yMinOriginal);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
Tero Ahola
Unit test module for QML API
r2206 // Scroll up
chartView.scrollUp(10);
compare(chartView.axisX().max, xMax);
compare(chartView.axisX().min, xMin);
verify(chartView.axisY().max > yMax);
verify(chartView.axisY().min > yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
// Scroll down
chartView.scrollDown(10);
compare(chartView.axisX().max, xMax);
compare(chartView.axisX().min, xMin);
verify(chartView.axisY().max < yMax);
verify(chartView.axisY().min < yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
Tero Ahola
QValueAxis::applyNiceNumbers is now a slot
r2307 // Scroll left
Tero Ahola
Unit test module for QML API
r2206 chartView.scrollLeft(10);
verify(chartView.axisX().max < xMax);
verify(chartView.axisX().min < xMin);
compare(chartView.axisY().max, yMax);
compare(chartView.axisY().min, yMin);
xMax = chartView.axisX().max;
xMin = chartView.axisX().min;
yMax = chartView.axisY().max;
yMin = chartView.axisY().min;
Tero Ahola
QValueAxis::applyNiceNumbers is now a slot
r2307 // Scroll right
Tero Ahola
Unit test module for QML API
r2206 chartView.scrollRight(10);
verify(chartView.axisX().max > xMax);
verify(chartView.axisX().min > xMin);
compare(chartView.axisY().max, yMax);
compare(chartView.axisY().min, yMin);
}
}
ChartView {
id: chartView
anchors.fill: parent
title: "Chart"
}
}