Add test for streaming with BASS
This commit is contained in:
parent
337b056400
commit
1fc6c85568
@ -1,8 +1,14 @@
|
|||||||
Running tests requires Catch2 and cmake
|
Running tests requires Catch2 and cmake. libs are assumed to be in
|
||||||
|
the same directory as the executable
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir cbuild && cd cbuild
|
mkdir cbuild && cd cbuild
|
||||||
cmake ..
|
cmake ..
|
||||||
make test
|
make test
|
||||||
|
|
||||||
|
# usage: run all tests
|
||||||
./test/test
|
./test/test
|
||||||
|
|
||||||
|
# usage: Optionally specify tests and success verbosity
|
||||||
|
./test/test [bass] --success
|
||||||
```
|
```
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
find_package(Qt5 COMPONENTS Core Gui REQUIRED)
|
find_package(Qt5 COMPONENTS Core Gui REQUIRED)
|
||||||
find_package(Catch2 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_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)
|
||||||
|
28
test/test_bass.cpp
Normal file
28
test/test_bass.cpp
Normal file
@ -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);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user