aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSkye Deving <76892045+skyedeving@users.noreply.github.com>2021-01-05 12:15:19 -0600
committerSkye Deving <76892045+skyedeving@users.noreply.github.com>2021-01-28 11:05:42 -0600
commit1fc6c855684ad6ef00f5ff3d646df043363ee100 (patch)
tree40a2ba83e4d18a4570a394d0e9f2e06f8b30eebd /test
parent337b056400955c9384accf4bb4f3a58a768852cf (diff)
Add test for streaming with BASS
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt5
-rw-r--r--test/test_bass.cpp28
2 files changed, 31 insertions, 2 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 31aab1e9..4249f1b3 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,6 +1,7 @@
find_package(Qt5 COMPONENTS Core Gui REQUIRED)
find_package(Catch2 REQUIRED)
-add_executable(test test_aopacket.cpp test_caseloading.cpp test_apng.cpp ../include/aopacket.h ../src/aopacket.cpp)
+add_executable(test test_aopacket.cpp test_caseloading.cpp test_apng.cpp test_bass.cpp ../include/aopacket.h ../src/aopacket.cpp)
target_include_directories(test PRIVATE ../include)
-target_link_libraries(test PRIVATE Qt5::Core Qt5::Gui Catch2::Catch2)
+target_link_directories(test PRIVATE ../lib)
+target_link_libraries(test PRIVATE Qt5::Core Qt5::Gui Catch2::Catch2 bass)
diff --git a/test/test_bass.cpp b/test/test_bass.cpp
new file mode 100644
index 00000000..0709fb92
--- /dev/null
+++ b/test/test_bass.cpp
@@ -0,0 +1,28 @@
+#include <iostream>
+#include <cstring>
+
+#include <catch2/catch.hpp>
+#include <QString>
+
+#include "bass.h"
+
+TEST_CASE("BASS URL streaming", "[bass]") {
+ // Sample
+ QString url = "https://raw.githubusercontent.com/skyedeving/aocharedit/master/Attorney%20Online%20Character%20Editor/Resources/about.mp3";
+ BASS_Init(-1, 44100, 0, 0, nullptr);
+#ifdef _WIN32
+ HSTREAM stream = BASS_StreamCreateURL(url.toWStdString().c_str(), 0, BASS_STREAM_STATUS, nullptr, 0);
+#else
+ HSTREAM stream = BASS_StreamCreateURL(url.toStdString().c_str(), 0, BASS_STREAM_STATUS, nullptr, 0);
+#endif
+ const char *tags = BASS_ChannelGetTags(stream, BASS_TAG_HTTP);
+ if (tags) {
+ while(*tags) {
+ UNSCOPED_INFO(tags);
+ tags += strlen(tags) + 1;
+ }
+ }
+ REQUIRE(stream != 0);
+ REQUIRE(BASS_ChannelPlay(stream, TRUE) == TRUE);
+ // while (BASS_ChannelIsActive(stream) != BASS_ACTIVE_STOPPED);
+}