summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSwiftb0y <12380386+Swiftb0y@users.noreply.github.com>2023-06-17 14:41:17 +0200
committerGitHub <noreply@github.com>2023-06-17 14:41:17 +0200
commit8f17a1f4dc34a025dfaf1de4c25ba40de3c6b968 (patch)
tree346b2eb8ec87de720b8461e8b6b9a2d1ffa94547
parentca1f8507f231dcf66cf3f0995428daf7207b4d8b (diff)
parent4257c00023c9fe09d5701076c9ba55ddaab377ca (diff)
Merge pull request #11662 from JoergAtGithub/fix_controller_mapping_validation_test
controller_mapping_validation_test: Support all 2.4 controller mapping API functions
-rw-r--r--src/test/controller_mapping_validation_test.cpp75
-rw-r--r--src/test/controller_mapping_validation_test.h39
2 files changed, 99 insertions, 15 deletions
diff --git a/src/test/controller_mapping_validation_test.cpp b/src/test/controller_mapping_validation_test.cpp
index 89d0392d9a..43011c62dd 100644
--- a/src/test/controller_mapping_validation_test.cpp
+++ b/src/test/controller_mapping_validation_test.cpp
@@ -5,29 +5,22 @@
#include "controllers/defs_controllers.h"
#include "moc_controller_mapping_validation_test.cpp"
-FakeControllerJSProxy::FakeControllerJSProxy()
+FakeMidiControllerJSProxy::FakeMidiControllerJSProxy()
: ControllerJSProxy(nullptr) {
}
-void FakeControllerJSProxy::send(const QList<int>& data, unsigned int length) {
+void FakeMidiControllerJSProxy::send(const QList<int>& data, unsigned int length) {
Q_UNUSED(data);
Q_UNUSED(length);
+ qInfo() << "LINT: Prefer to use sendSysexMsg instead of the generic alias send!";
}
-void FakeControllerJSProxy::sendOutputReport(quint8 reportID,
- const QByteArray& dataArray,
- bool resendUnchangedReport) {
- Q_UNUSED(reportID);
- Q_UNUSED(dataArray);
- Q_UNUSED(resendUnchangedReport);
-}
-
-void FakeControllerJSProxy::sendSysexMsg(const QList<int>& data, unsigned int length) {
+void FakeMidiControllerJSProxy::sendSysexMsg(const QList<int>& data, unsigned int length) {
Q_UNUSED(data);
Q_UNUSED(length);
}
-void FakeControllerJSProxy::sendShortMsg(unsigned char status,
+void FakeMidiControllerJSProxy::sendShortMsg(unsigned char status,
unsigned char byte1,
unsigned char byte2) {
Q_UNUSED(status);
@@ -35,6 +28,64 @@ void FakeControllerJSProxy::sendShortMsg(unsigned char status,
Q_UNUSED(byte2);
}
+FakeHidControllerJSProxy::FakeHidControllerJSProxy()
+ : ControllerJSProxy(nullptr) {
+}
+
+void FakeHidControllerJSProxy::send(const QList<int>& data, unsigned int length) {
+ Q_UNUSED(data);
+ Q_UNUSED(length);
+
+ qInfo() << "LINT: Prefer to use sendOutputReport instead of send!";
+}
+
+void FakeHidControllerJSProxy::send(const QList<int>& dataList,
+ unsigned int length,
+ quint8 reportID,
+ bool useNonSkippingFIFO) {
+ Q_UNUSED(dataList);
+ Q_UNUSED(length);
+ Q_UNUSED(reportID);
+ Q_UNUSED(useNonSkippingFIFO);
+
+ qInfo() << "LINT: Prefer to use sendOutputReport instead of send!";
+}
+
+void FakeHidControllerJSProxy::sendOutputReport(quint8 reportID,
+ const QByteArray& dataArray,
+ bool resendUnchangedReport) {
+ Q_UNUSED(reportID);
+ Q_UNUSED(dataArray);
+ Q_UNUSED(resendUnchangedReport);
+}
+
+QByteArray FakeHidControllerJSProxy::getInputReport(
+ quint8 reportID) {
+ Q_UNUSED(reportID);
+ return QByteArray();
+}
+
+void FakeHidControllerJSProxy::sendFeatureReport(
+ quint8 reportID, const QByteArray& reportData) {
+ Q_UNUSED(reportID);
+ Q_UNUSED(reportData);
+}
+
+QByteArray FakeHidControllerJSProxy::getFeatureReport(
+ quint8 reportID) {
+ Q_UNUSED(reportID);
+ return QByteArray();
+}
+
+FakeBulkControllerJSProxy::FakeBulkControllerJSProxy()
+ : ControllerJSProxy(nullptr) {
+}
+
+void FakeBulkControllerJSProxy::send(const QList<int>& data, unsigned int length) {
+ Q_UNUSED(data);
+ Q_UNUSED(length);
+}
+
FakeController::FakeController()
: Controller("Test Controller"),
m_bMidiMapping(false),
diff --git a/src/test/controller_mapping_validation_test.h b/src/test/controller_mapping_validation_test.h
index e724d28207..da868da44c 100644
--- a/src/test/controller_mapping_validation_test.h
+++ b/src/test/controller_mapping_validation_test.h
@@ -8,10 +8,10 @@
#include "controllers/midi/legacymidicontrollermapping.h"
#include "test/mixxxtest.h"
-class FakeControllerJSProxy : public ControllerJSProxy {
+class FakeMidiControllerJSProxy : public ControllerJSProxy {
Q_OBJECT
public:
- FakeControllerJSProxy();
+ FakeMidiControllerJSProxy();
Q_INVOKABLE void send(const QList<int>& data, unsigned int length = 0) override;
@@ -20,10 +20,36 @@ class FakeControllerJSProxy : public ControllerJSProxy {
Q_INVOKABLE void sendShortMsg(unsigned char status,
unsigned char byte1,
unsigned char byte2);
+};
+
+class FakeHidControllerJSProxy : public ControllerJSProxy {
+ Q_OBJECT
+ public:
+ FakeHidControllerJSProxy();
+
+ Q_INVOKABLE void send(const QList<int>& data, unsigned int length = 0) override;
+ Q_INVOKABLE void send(const QList<int>& dataList,
+ unsigned int length,
+ quint8 reportID,
+ bool useNonSkippingFIFO = false);
Q_INVOKABLE void sendOutputReport(quint8 reportID,
const QByteArray& dataArray,
bool resendUnchangedReport = false);
+ Q_INVOKABLE QByteArray getInputReport(
+ quint8 reportID);
+ Q_INVOKABLE void sendFeatureReport(
+ quint8 reportID, const QByteArray& reportData);
+ Q_INVOKABLE QByteArray getFeatureReport(
+ quint8 reportID);
+};
+
+class FakeBulkControllerJSProxy : public ControllerJSProxy {
+ Q_OBJECT
+ public:
+ FakeBulkControllerJSProxy();
+
+ Q_INVOKABLE void send(const QList<int>& data, unsigned int length = 0) override;
};
class FakeController : public Controller {
@@ -38,7 +64,14 @@ class FakeController : public Controller {
}
ControllerJSProxy* jsProxy() override {
- return new FakeControllerJSProxy();
+ if (this->m_bMidiMapping == true) {
+ return new FakeMidiControllerJSProxy();
+ }
+ if (this->m_bHidMapping == true) {
+ return new FakeHidControllerJSProxy();
+ }
+ // Bulk mapping
+ return new FakeBulkControllerJSProxy();
}
void setMapping(std::shared_ptr<LegacyControllerMapping> pMapping) override {