File indexing completed on 2024-04-28 04:48:50
0001 /* 0002 SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0003 0004 SPDX-License-Identifier: LGPL-3.0-or-later 0005 */ 0006 0007 #include "manageheaderbartest.h" 0008 0009 #include "manageheaderbar.h" 0010 #include "mediaplaylist.h" 0011 #include "databaseinterface.h" 0012 #include "trackslistener.h" 0013 0014 #include <QString> 0015 0016 #include <QStringListModel> 0017 0018 #include <QSignalSpy> 0019 #include <QTest> 0020 0021 ManageHeaderBarTest::ManageHeaderBarTest(QObject *parent) : QObject(parent) 0022 { 0023 0024 } 0025 0026 void ManageHeaderBarTest::initTestCase() 0027 { 0028 0029 } 0030 0031 void ManageHeaderBarTest::simpleInitialCase() 0032 { 0033 ManageHeaderBar myControl; 0034 0035 QCOMPARE(myControl.currentTrack().isValid(), false); 0036 QCOMPARE(myControl.artistRole(), static_cast<int>(Qt::DisplayRole)); 0037 QCOMPARE(myControl.titleRole(), static_cast<int>(Qt::DisplayRole)); 0038 QCOMPARE(myControl.albumRole(), static_cast<int>(Qt::DisplayRole)); 0039 QCOMPARE(myControl.imageRole(), static_cast<int>(Qt::DisplayRole)); 0040 QCOMPARE(myControl.albumIdRole(), static_cast<int>(Qt::DisplayRole)); 0041 QCOMPARE(myControl.isValidRole(), static_cast<int>(Qt::DisplayRole)); 0042 QCOMPARE(myControl.artist().toString().isEmpty(), true); 0043 QCOMPARE(myControl.title().toString().isEmpty(), true); 0044 QCOMPARE(myControl.album().toString().isEmpty(), true); 0045 QCOMPARE(myControl.image().toString().isEmpty(), true); 0046 QCOMPARE(myControl.isValid(), false); 0047 } 0048 0049 void ManageHeaderBarTest::setCurrentTrackWithInvalidData() 0050 { 0051 ManageHeaderBar myControl; 0052 0053 QSignalSpy currentTrackChangedSpy(&myControl, &ManageHeaderBar::currentTrackChanged); 0054 QSignalSpy artistRoleChangedSpy(&myControl, &ManageHeaderBar::artistRoleChanged); 0055 QSignalSpy titleRoleChangedSpy(&myControl, &ManageHeaderBar::titleRoleChanged); 0056 QSignalSpy albumRoleChangedSpy(&myControl, &ManageHeaderBar::albumRoleChanged); 0057 QSignalSpy imageRoleChangedSpy(&myControl, &ManageHeaderBar::imageRoleChanged); 0058 QSignalSpy albumIdRoleChangedSpy(&myControl, &ManageHeaderBar::albumIdRoleChanged); 0059 QSignalSpy isValidRoleChangedSpy(&myControl, &ManageHeaderBar::isValidRoleChanged); 0060 QSignalSpy artistChangedSpy(&myControl, &ManageHeaderBar::artistChanged); 0061 QSignalSpy titleChangedSpy(&myControl, &ManageHeaderBar::titleChanged); 0062 QSignalSpy albumChangedSpy(&myControl, &ManageHeaderBar::albumChanged); 0063 QSignalSpy imageChangedSpy(&myControl, &ManageHeaderBar::imageChanged); 0064 QSignalSpy albumIdChangedSpy(&myControl, &ManageHeaderBar::albumIdChanged); 0065 QSignalSpy isValidChangedSpy(&myControl, &ManageHeaderBar::isValidChanged); 0066 0067 QCOMPARE(myControl.currentTrack().isValid(), false); 0068 QCOMPARE(myControl.artistRole(), static_cast<int>(Qt::DisplayRole)); 0069 QCOMPARE(myControl.titleRole(), static_cast<int>(Qt::DisplayRole)); 0070 QCOMPARE(myControl.albumRole(), static_cast<int>(Qt::DisplayRole)); 0071 QCOMPARE(myControl.imageRole(), static_cast<int>(Qt::DisplayRole)); 0072 QCOMPARE(myControl.albumIdRole(), static_cast<int>(Qt::DisplayRole)); 0073 QCOMPARE(myControl.isValidRole(), static_cast<int>(Qt::DisplayRole)); 0074 QCOMPARE(myControl.artist().toString().isEmpty(), true); 0075 QCOMPARE(myControl.title().toString().isEmpty(), true); 0076 QCOMPARE(myControl.album().toString().isEmpty(), true); 0077 QCOMPARE(myControl.image().toString().isEmpty(), true); 0078 QCOMPARE(myControl.isValid(), false); 0079 0080 QCOMPARE(currentTrackChangedSpy.count(), 0); 0081 QCOMPARE(artistRoleChangedSpy.count(), 0); 0082 QCOMPARE(titleRoleChangedSpy.count(), 0); 0083 QCOMPARE(albumRoleChangedSpy.count(), 0); 0084 QCOMPARE(imageRoleChangedSpy.count(), 0); 0085 QCOMPARE(albumIdRoleChangedSpy.count(), 0); 0086 QCOMPARE(isValidRoleChangedSpy.count(), 0); 0087 QCOMPARE(artistChangedSpy.count(), 0); 0088 QCOMPARE(titleChangedSpy.count(), 0); 0089 QCOMPARE(albumChangedSpy.count(), 0); 0090 QCOMPARE(imageChangedSpy.count(), 0); 0091 QCOMPARE(albumIdChangedSpy.count(), 0); 0092 QCOMPARE(isValidChangedSpy.count(), 0); 0093 0094 myControl.setCurrentTrack(QPersistentModelIndex()); 0095 0096 QCOMPARE(currentTrackChangedSpy.count(), 1); 0097 QCOMPARE(artistRoleChangedSpy.count(), 0); 0098 QCOMPARE(titleRoleChangedSpy.count(), 0); 0099 QCOMPARE(albumRoleChangedSpy.count(), 0); 0100 QCOMPARE(imageRoleChangedSpy.count(), 0); 0101 QCOMPARE(albumIdRoleChangedSpy.count(), 0); 0102 QCOMPARE(isValidRoleChangedSpy.count(), 0); 0103 QCOMPARE(artistChangedSpy.count(), 0); 0104 QCOMPARE(titleChangedSpy.count(), 0); 0105 QCOMPARE(albumChangedSpy.count(), 0); 0106 QCOMPARE(imageChangedSpy.count(), 0); 0107 QCOMPARE(albumIdChangedSpy.count(), 0); 0108 QCOMPARE(isValidChangedSpy.count(), 0); 0109 } 0110 0111 void ManageHeaderBarTest::setCurrentTrackWithData() 0112 { 0113 QStringListModel myPlayList; 0114 0115 ManageHeaderBar myControl; 0116 0117 QSignalSpy currentTrackChangedSpy(&myControl, &ManageHeaderBar::currentTrackChanged); 0118 QSignalSpy artistRoleChangedSpy(&myControl, &ManageHeaderBar::artistRoleChanged); 0119 QSignalSpy titleRoleChangedSpy(&myControl, &ManageHeaderBar::titleRoleChanged); 0120 QSignalSpy albumRoleChangedSpy(&myControl, &ManageHeaderBar::albumRoleChanged); 0121 QSignalSpy imageRoleChangedSpy(&myControl, &ManageHeaderBar::imageRoleChanged); 0122 QSignalSpy albumIdRoleChangedSpy(&myControl, &ManageHeaderBar::albumIdRoleChanged); 0123 QSignalSpy isValidRoleChangedSpy(&myControl, &ManageHeaderBar::isValidRoleChanged); 0124 QSignalSpy artistChangedSpy(&myControl, &ManageHeaderBar::artistChanged); 0125 QSignalSpy titleChangedSpy(&myControl, &ManageHeaderBar::titleChanged); 0126 QSignalSpy albumChangedSpy(&myControl, &ManageHeaderBar::albumChanged); 0127 QSignalSpy imageChangedSpy(&myControl, &ManageHeaderBar::imageChanged); 0128 QSignalSpy albumIdChangedSpy(&myControl, &ManageHeaderBar::albumIdChanged); 0129 QSignalSpy isValidChangedSpy(&myControl, &ManageHeaderBar::isValidChanged); 0130 0131 QCOMPARE(myControl.currentTrack().isValid(), false); 0132 QCOMPARE(myControl.artistRole(), static_cast<int>(Qt::DisplayRole)); 0133 QCOMPARE(myControl.titleRole(), static_cast<int>(Qt::DisplayRole)); 0134 QCOMPARE(myControl.albumRole(), static_cast<int>(Qt::DisplayRole)); 0135 QCOMPARE(myControl.imageRole(), static_cast<int>(Qt::DisplayRole)); 0136 QCOMPARE(myControl.albumIdRole(), static_cast<int>(Qt::DisplayRole)); 0137 QCOMPARE(myControl.isValidRole(), static_cast<int>(Qt::DisplayRole)); 0138 QCOMPARE(myControl.artist().toString().isEmpty(), true); 0139 QCOMPARE(myControl.title().toString().isEmpty(), true); 0140 QCOMPARE(myControl.album().toString().isEmpty(), true); 0141 QCOMPARE(myControl.image().toString().isEmpty(), true); 0142 QCOMPARE(myControl.isValid(), false); 0143 0144 QCOMPARE(currentTrackChangedSpy.count(), 0); 0145 QCOMPARE(artistRoleChangedSpy.count(), 0); 0146 QCOMPARE(titleRoleChangedSpy.count(), 0); 0147 QCOMPARE(albumRoleChangedSpy.count(), 0); 0148 QCOMPARE(imageRoleChangedSpy.count(), 0); 0149 QCOMPARE(albumIdRoleChangedSpy.count(), 0); 0150 QCOMPARE(isValidRoleChangedSpy.count(), 0); 0151 QCOMPARE(artistChangedSpy.count(), 0); 0152 QCOMPARE(titleChangedSpy.count(), 0); 0153 QCOMPARE(albumChangedSpy.count(), 0); 0154 QCOMPARE(imageChangedSpy.count(), 0); 0155 QCOMPARE(albumIdChangedSpy.count(), 0); 0156 QCOMPARE(isValidChangedSpy.count(), 0); 0157 0158 QCOMPARE(myPlayList.insertRows(0, 1), true); 0159 0160 QCOMPARE(currentTrackChangedSpy.count(), 0); 0161 QCOMPARE(artistRoleChangedSpy.count(), 0); 0162 QCOMPARE(titleRoleChangedSpy.count(), 0); 0163 QCOMPARE(albumRoleChangedSpy.count(), 0); 0164 QCOMPARE(imageRoleChangedSpy.count(), 0); 0165 QCOMPARE(albumIdRoleChangedSpy.count(), 0); 0166 QCOMPARE(isValidRoleChangedSpy.count(), 0); 0167 QCOMPARE(artistChangedSpy.count(), 0); 0168 QCOMPARE(titleChangedSpy.count(), 0); 0169 QCOMPARE(albumChangedSpy.count(), 0); 0170 QCOMPARE(imageChangedSpy.count(), 0); 0171 QCOMPARE(albumIdChangedSpy.count(), 0); 0172 QCOMPARE(isValidChangedSpy.count(), 0); 0173 0174 myControl.setCurrentTrack(myPlayList.index(0, 0)); 0175 0176 QCOMPARE(currentTrackChangedSpy.count(), 1); 0177 QCOMPARE(artistRoleChangedSpy.count(), 0); 0178 QCOMPARE(titleRoleChangedSpy.count(), 0); 0179 QCOMPARE(albumRoleChangedSpy.count(), 0); 0180 QCOMPARE(imageRoleChangedSpy.count(), 0); 0181 QCOMPARE(albumIdRoleChangedSpy.count(), 0); 0182 QCOMPARE(isValidRoleChangedSpy.count(), 0); 0183 QCOMPARE(artistChangedSpy.count(), 1); 0184 QCOMPARE(titleChangedSpy.count(), 1); 0185 QCOMPARE(albumChangedSpy.count(), 1); 0186 QCOMPARE(imageChangedSpy.count(), 1); 0187 QCOMPARE(albumIdChangedSpy.count(), 0); 0188 QCOMPARE(isValidChangedSpy.count(), 0);; 0189 0190 QCOMPARE(myControl.currentTrack(), QPersistentModelIndex(myPlayList.index(0, 0))); 0191 } 0192 0193 QTEST_GUILESS_MAIN(ManageHeaderBarTest) 0194 0195 0196 #include "moc_manageheaderbartest.cpp"