File indexing completed on 2024-04-28 04:48:55

0001 /*
0002    SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0003    SPDX-FileCopyrightText: 2020 (c) Alexander Stippich <a.stippich@gmx.net>
0004 
0005    SPDX-License-Identifier: LGPL-3.0-or-later
0006  */
0007 
0008 #ifndef MEDIAPLAYLISTPROXYMODELTEST_H
0009 #define MEDIAPLAYLISTPROXYMODELTEST_H
0010 
0011 #include "databasetestdata.h"
0012 
0013 #include <QObject>
0014 
0015 class MediaPlayListProxyModelTest : public QObject, public DatabaseTestData
0016 {
0017 
0018     Q_OBJECT
0019 
0020 public:
0021 
0022     explicit MediaPlayListProxyModelTest(QObject *parent = nullptr);
0023 
0024 Q_SIGNALS:
0025 
0026 private Q_SLOTS:
0027 
0028     void initTestCase();
0029 
0030     void m3uPlaylistParser_SimpleCase();
0031 
0032     void m3uPlaylistParser_CommentCase();
0033 
0034     void plsPlaylistParserCase();
0035 
0036     void m3uPlaylistParser_ToPlaylist();
0037 
0038     void plsPlaylistParser_ToPlaylist();
0039 
0040     void simpleInitialCase();
0041 
0042     void enqueueAlbumCase();
0043 
0044     void enqueueArtistCase();
0045 
0046     void enqueueMultipleAlbumsCase();
0047 
0048     void enqueueTrackByUrl();
0049 
0050     void enqueueTracksByUrl();
0051 
0052     void enqueueReplaceAndPlay();
0053 
0054     void enqueueFiles();
0055 
0056     void enqueueSampleFiles();
0057 
0058     void enqueueEmpty();
0059 
0060     void removeFirstTrackOfAlbum();
0061 
0062     void testSaveLoadPlayList();
0063 
0064     void testSavePersistentState();
0065 
0066     void testRestoreSettings();
0067 
0068     void testSaveAndRestoreSettings();
0069 
0070     void testBringUpAndSkipPreviousAndContinueCase();
0071 
0072     void testBringUpAndRemoveMultipleNotBeginCase();
0073 
0074     void testBringUpAndPlayCase();
0075 
0076     void testBringUpAndSkipNextCase();
0077 
0078     void testBringUpAndSkipPreviousCase();
0079 
0080     void testBringUpAndSkipPreviousWithSeekCase();
0081 
0082     void testBringUpAndRemoveCase();
0083 
0084     void testBringUpAndRemoveLastCase();
0085 
0086     void testBringUpAndRemoveMultipleCase();
0087 
0088     void testBringUpAndDownCase();
0089 
0090     void testBringUpCase();
0091 
0092     void testBringUpCaseFromNewAlbum();
0093 
0094     void testSetData();
0095 
0096     void testRemoveSelection();
0097 
0098     void testReplaceAndPlayArtist();
0099 
0100     void testReplaceAndPlayTrackId();
0101 
0102     void testTrackBeenRemoved();
0103 
0104     void shufflePlayList();
0105 
0106     void testShuffleMode();
0107 
0108     void randomAndContinuePlayList();
0109 
0110     void continuePlayList();
0111 
0112     void previousAndNextTracksTest();
0113 
0114     void remainingTracksTest();
0115 
0116     void clearPlayListCase();
0117 
0118     void undoClearPlayListCase();
0119 
0120     void undoReplacePlayListCase();
0121 
0122     void finishPlayList();
0123 
0124     void removeBeforeCurrentTrack();
0125 
0126     void switchToTrackTest();
0127 
0128     void singleTrack();
0129 
0130     void testHasHeader();
0131 
0132     void testHasHeaderWithRemove();
0133 
0134     void testHasHeaderMoveFirst();
0135 
0136     void testHasHeaderMoveAnother();
0137 
0138     void testHasHeaderAlbumWithSameTitle();
0139 
0140     void testHasHeaderMoveFirstLikeQml();
0141 
0142     void testHasHeaderMoveAnotherLikeQml();
0143 
0144     void testHasHeaderYetAnotherMoveLikeQml();
0145 
0146     void testMoveAndShuffle();
0147 
0148     void testMoveCurrentTrack();
0149 };
0150 
0151 #endif // MEDIAPLAYLISTPROXYMODELTEST_H