diff --git a/PKGBUILD b/PKGBUILD index 36f61e3..8290083 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Sebastian Palencsar pkgname=bearwave-git pkgver=1.0.5 -pkgrel=1 +pkgrel=2 pkgdesc="KDE-focused desktop internet radio app" arch=('x86_64') url="https://github.com/spalencsar/bearwave" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 37a961f..a79e365 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,10 @@ set(SOURCES # Create executable add_executable(bearwave ${SOURCES}) +target_compile_definitions(bearwave PRIVATE + BEARWAVE_VERSION="${PROJECT_VERSION}" +) + # Qt Resources target_sources(bearwave PRIVATE qml.qrc) diff --git a/src/main.cpp b/src/main.cpp index e424a18..15fb27e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -25,7 +25,7 @@ int main(int argc, char *argv[]) QApplication::setApplicationName(QStringLiteral("BearWave")); QApplication::setDesktopFileName(QStringLiteral("de.nerdbear.bearwave")); QApplication::setOrganizationName(QStringLiteral("BearWave")); - QApplication::setApplicationVersion(QStringLiteral("1.0.5")); + QApplication::setApplicationVersion(QStringLiteral(BEARWAVE_VERSION)); QApplication app(argc, argv); diff --git a/src/qml.qrc b/src/qml.qrc index 39c8ee5..f9a0eb5 100644 --- a/src/qml.qrc +++ b/src/qml.qrc @@ -1,5 +1,5 @@ - + qml/Main.qml qml/theme/qmldir qml/theme/BearTheme.qml diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c4768dc..cfa7ec1 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -51,4 +51,13 @@ target_link_libraries(radiobrowser_race_test PRIVATE ) add_test(NAME radiobrowser_race_test COMMAND radiobrowser_race_test) -set_tests_properties(radiobrowser_race_test PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=offscreen") \ No newline at end of file +set_tests_properties(radiobrowser_race_test PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=offscreen") + +add_executable(qrc_resources_test + qrc_resources_test.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/../src/qml.qrc +) + +target_link_libraries(qrc_resources_test PRIVATE Qt6::Core Qt6::Test) + +add_test(NAME qrc_resources_test COMMAND qrc_resources_test) \ No newline at end of file diff --git a/tests/qrc_resources_test.cpp b/tests/qrc_resources_test.cpp new file mode 100644 index 0000000..e37a33d --- /dev/null +++ b/tests/qrc_resources_test.cpp @@ -0,0 +1,30 @@ +// Copyright (c) 2026 Sebastian Palencsar +// SPDX-License-Identifier: GPL-3.0-or-later + +#include +#include + +class QrcResourcesTest : public QObject +{ + Q_OBJECT + +private slots: + void mainQmlIsEmbedded(); + void qmlModulesAreEmbedded(); +}; + +void QrcResourcesTest::mainQmlIsEmbedded() +{ + QVERIFY2(QFile::exists(QStringLiteral(":/qml/Main.qml")), + "Main UI shell must be available at qrc:/qml/Main.qml"); +} + +void QrcResourcesTest::qmlModulesAreEmbedded() +{ + QVERIFY(QFile::exists(QStringLiteral(":/qml/theme/qmldir"))); + QVERIFY(QFile::exists(QStringLiteral(":/qml/components/qmldir"))); + QVERIFY(QFile::exists(QStringLiteral(":/assets/app/bearwave.png"))); +} + +QTEST_APPLESS_MAIN(QrcResourcesTest) +#include "qrc_resources_test.moc" \ No newline at end of file