File indexing completed on 2024-03-24 03:54:44

0001 /*
0002  * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #ifndef MEDIAPLAYERTEST_H
0008 #define MEDIAPLAYERTEST_H
0009 
0010 #include <QList>
0011 #include <QObject>
0012 
0013 #include "bluezdevice1_tst.h"
0014 #include "bluezmediaplayer1_tst.h"
0015 #include "dbusproperties_tst.h"
0016 
0017 #include "device.h"
0018 #include "manager.h"
0019 #include "mediaplayer.h"
0020 
0021 class MediaPlayerTest : public QObject
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit MediaPlayerTest();
0027 
0028 private Q_SLOTS:
0029     void initTestCase();
0030     void cleanupTestCase();
0031 
0032     void connectTest();
0033     void disconnectTest();
0034     void connectProfileTest();
0035 
0036     void getPropertiesTest();
0037     void setEqualizerTest();
0038     void setRepeatTest();
0039     void setShuffleTest();
0040     void changeStatusTest();
0041     void changeTrackTest();
0042 
0043     void disconnectProfileTest();
0044 
0045     void bug403289();
0046 
0047 private:
0048     QString equalizerString(const BluezQt::MediaPlayerPtr &mediaPlayer) const;
0049     QString repeatString(const BluezQt::MediaPlayerPtr &mediaPlayer) const;
0050     QString shuffleString(const BluezQt::MediaPlayerPtr &mediaPlayer) const;
0051     QString statusString(const BluezQt::MediaPlayerPtr &mediaPlayer) const;
0052     QVariantMap trackMap(const BluezQt::MediaPlayerPtr &mediaPlayer) const;
0053 
0054     struct MediaPlayerUnit {
0055         BluezQt::DevicePtr device;
0056         org::bluez::MediaPlayer1 *dbusMediaPlayer;
0057         org::freedesktop::DBus::Properties *dbusProperties;
0058     };
0059 
0060     BluezQt::Manager *m_manager;
0061     QList<MediaPlayerUnit> m_units;
0062 };
0063 
0064 #endif // MEDIAPLAYERTEST_H