Revision control

++ // Copyright (C) 2024 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ #include "qtestcase.h"
++ #include <QtGraphs/QBarCategoryAxis>
++ #include <QtTest/QtTest>
++
++ class tst_abstractaxis : public QObject
++ {
++ Q_OBJECT
++
++ private slots:
++ void initTestCase();
++ void cleanupTestCase();
++ void init();
++ void cleanup();
++
++ void initialProperties();
++ void initializeProperties();
++
++ void showHide();
++
++ private:
++ // QAbstractAxis is uncreatable, so testing is done through QBarCategoryAxis
++ QBarCategoryAxis *m_axis;
++ };
++
++ void tst_abstractaxis::initTestCase() {}
++
++ void tst_abstractaxis::cleanupTestCase() {}
++
++ void tst_abstractaxis::init()
++ {
++ m_axis = new QBarCategoryAxis();
++ }
++
++ void tst_abstractaxis::cleanup()
++ {
++ delete m_axis;
++ }
++
++ void tst_abstractaxis::initialProperties()
++ {
++ QVERIFY(m_axis);
++
++ QCOMPARE(m_axis->isVisible(), true);
++ QCOMPARE(m_axis->isLineVisible(), true);
++ QCOMPARE(m_axis->labelsVisible(), true);
++ QCOMPARE(m_axis->labelsAngle(), 0);
++ QCOMPARE(m_axis->labelDelegate(), nullptr);
++ QCOMPARE(m_axis->isGridVisible(), true);
++ QCOMPARE(m_axis->isSubGridVisible(), true);
++ QCOMPARE(m_axis->titleText(), QString());
++ QCOMPARE(m_axis->titleColor(), QColor());
++ QCOMPARE(m_axis->isTitleVisible(), true);
++ QCOMPARE(m_axis->titleFont(), QFont());
++ QCOMPARE(m_axis->alignment(), Qt::AlignAbsolute);
++ QCOMPARE(m_axis->textElideMode(), Qt::ElideNone);
++ }
++
++ void tst_abstractaxis::initializeProperties()
++ {
++ QVERIFY(m_axis);
++
++ QSignalSpy spy0(m_axis, &QAbstractAxis::visibleChanged);
++ QSignalSpy spy1(m_axis, &QAbstractAxis::lineVisibleChanged);
++ QSignalSpy spy2(m_axis, &QAbstractAxis::labelsVisibleChanged);
++ QSignalSpy spy3(m_axis, &QAbstractAxis::labelsAngleChanged);
++ QSignalSpy spy4(m_axis, &QAbstractAxis::labelDelegateChanged);
++ QSignalSpy spy5(m_axis, &QAbstractAxis::gridVisibleChanged);
++ QSignalSpy spy6(m_axis, &QAbstractAxis::subGridVisibleChanged);
++ QSignalSpy spy7(m_axis, &QAbstractAxis::titleTextChanged);
++ QSignalSpy spy8(m_axis, &QAbstractAxis::titleColorChanged);
++ QSignalSpy spy9(m_axis, &QAbstractAxis::titleVisibleChanged);
++ QSignalSpy spy10(m_axis, &QAbstractAxis::titleFontChanged);
++ QSignalSpy spy11(m_axis, &QAbstractAxis::alignmentChanged);
++ QSignalSpy spy12(m_axis, &QAbstractAxis::textElideModeChanged);
++
++ auto font = QFont("Arial", 20, 2, true);
++ auto labelDelegate = new QQmlComponent(this);
++
++ m_axis->setVisible(false);
++ m_axis->setLineVisible(false);
++ m_axis->setLabelsVisible(false);
++ m_axis->setLabelsAngle(90.0);
++ m_axis->setLabelDelegate(labelDelegate);
++ m_axis->setGridVisible(false);
++ m_axis->setSubGridVisible(false);
++ m_axis->setTitleText("Title");
++ m_axis->setTitleColor("#ff0000");
++ m_axis->setTitleVisible(false);
++ m_axis->setTitleFont(font);
++ m_axis->setAlignment(Qt::AlignTop);
++ m_axis->setTextElideMode(Qt::ElideRight);
++
++ QCOMPARE(m_axis->isVisible(), false);
++ QCOMPARE(m_axis->isLineVisible(), false);
++ QCOMPARE(m_axis->labelsVisible(), false);
++ QCOMPARE(m_axis->labelsAngle(), 90.0);
++ QCOMPARE(m_axis->labelDelegate(), labelDelegate);
++ QCOMPARE(m_axis->isGridVisible(), false);
++ QCOMPARE(m_axis->isSubGridVisible(), false);
++ QCOMPARE(m_axis->titleText(), "Title");
++ QCOMPARE(m_axis->titleColor(), "#ff0000");
++ QCOMPARE(m_axis->isTitleVisible(), false);
++ QCOMPARE(m_axis->titleFont(), font);
++ QCOMPARE(m_axis->alignment(), Qt::AlignTop);
++ QCOMPARE(m_axis->textElideMode(), Qt::ElideRight);
++
++ QCOMPARE(spy0.size(), 1);
++ QCOMPARE(spy1.size(), 1);
++ QCOMPARE(spy2.size(), 1);
++ QCOMPARE(spy3.size(), 1);
++ QCOMPARE(spy4.size(), 1);
++ QCOMPARE(spy5.size(), 1);
++ QCOMPARE(spy6.size(), 1);
++ QCOMPARE(spy7.size(), 1);
++ QCOMPARE(spy8.size(), 1);
++ QCOMPARE(spy9.size(), 1);
++ QCOMPARE(spy10.size(), 1);
++ QCOMPARE(spy11.size(), 1);
++ QCOMPARE(spy12.size(), 1);
++ }
++
++ void tst_abstractaxis::showHide()
++ {
++ QVERIFY(m_axis);
++
++ QSignalSpy spy(m_axis, &QAbstractAxis::visibleChanged);
++
++ m_axis->hide();
++
++ QCOMPARE(m_axis->isVisible(), false);
++ QCOMPARE(spy.size(), 1);
++
++ m_axis->show();
++
++ QCOMPARE(m_axis->isVisible(), true);
++ QCOMPARE(spy.size(), 2);
++ }
++
++ QTEST_MAIN(tst_abstractaxis)
++ #include "tst_abstractaxis.moc"