From 47ff6c8e9d5ff85649640d786e6c7494976ac1a5 Mon Sep 17 00:00:00 2001 From: Alexis Lopez Zubieta Date: Sun, 14 Oct 2018 12:47:33 +0200 Subject: [PATCH] Add AppDir::deployIcon test. --- tests/AppDirUnitTests.cpp | 22 ++++++++++- tests/CMakeLists.txt | 3 +- .../{SimpleApp.Desktop => simple_app.Desktop} | 0 tests/data/simple_icon.svg | 38 +++++++++++++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) rename tests/data/{SimpleApp.Desktop => simple_app.Desktop} (100%) create mode 100644 tests/data/simple_icon.svg diff --git a/tests/AppDirUnitTests.cpp b/tests/AppDirUnitTests.cpp index 3a25d65..3b5d774 100644 --- a/tests/AppDirUnitTests.cpp +++ b/tests/AppDirUnitTests.cpp @@ -124,11 +124,31 @@ namespace AppDirUnitTests { for (recursive_directory_iterator itr(tmpAppDir); itr != end_itr && (!simple_app_desktop_found); itr++) { const auto path = relative(itr->path(), tmpAppDir).filename().string(); - if (path.find("SimpleApp.Desktop") != std::string::npos) + if (path.find("simple_app.Desktop") != std::string::npos) simple_app_desktop_found = true; } if (!simple_app_desktop_found) FAIL(); } + + + TEST_F(AppDirUnitTestsFixture, deployIcon) { + path iconPath = SIMPLE_ICON_PATH; + appDir.deployIcon(iconPath); + appDir.executeDeferredOperations(); + + bool simple_icon_found = false; + recursive_directory_iterator end_itr; // default construction yields past-the-end + for (recursive_directory_iterator itr(tmpAppDir); itr != end_itr && (!simple_icon_found); itr++) { + const auto path = relative(itr->path(), tmpAppDir).filename().string(); + + if (path.find("simple_icon.svg") != std::string::npos) + simple_icon_found = true; + } + + if (!simple_icon_found) + FAIL(); + + } } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4ed4a43..00e493e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -12,7 +12,8 @@ target_include_directories(AppDirUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/include target_compile_definitions(AppDirUnitTests PRIVATE -DSIMPLE_LIBRARY_PATH="$" -DSIMPLE_EXECUTABLE_PATH="$" - -DSIMPLE_DESKTOP_ENTRY_PATH="${CMAKE_CURRENT_SOURCE_DIR}/data/SimpleApp.Desktop" + -DSIMPLE_DESKTOP_ENTRY_PATH="${CMAKE_CURRENT_SOURCE_DIR}/data/simple_app.Desktop" + -DSIMPLE_ICON_PATH="${CMAKE_CURRENT_SOURCE_DIR}/data/simple_icon.svg" ) add_gtest(AppDirUnitTests) diff --git a/tests/data/SimpleApp.Desktop b/tests/data/simple_app.Desktop similarity index 100% rename from tests/data/SimpleApp.Desktop rename to tests/data/simple_app.Desktop diff --git a/tests/data/simple_icon.svg b/tests/data/simple_icon.svg new file mode 100644 index 0000000..39e3940 --- /dev/null +++ b/tests/data/simple_icon.svg @@ -0,0 +1,38 @@ + + + + + + + image/svg+xml + + + + + + + + +