diff --git a/package/ci/appveyor-cache-reset.txt b/package/ci/appveyor-cache-reset.txt index f7416fddf..6e3e6bb88 100644 --- a/package/ci/appveyor-cache-reset.txt +++ b/package/ci/appveyor-cache-reset.txt @@ -1,3 +1,3 @@ # Increase this number every time you want to reset AppVeyor cache. # http://help.appveyor.com/discussions/questions/1310-delete-cache -0 +1 diff --git a/package/ci/appveyor.yml b/package/ci/appveyor.yml index 0a07a8779..ad2ea40dc 100644 --- a/package/ci/appveyor.yml +++ b/package/ci/appveyor.yml @@ -111,7 +111,9 @@ environment: install: # Ninja. `cinst ninja` started 503ing in late November 2019 and wasn't really # reliable before either. So install by hand, as that's reliable always. -- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\ninja-win.zip appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip +# Version 1.11 needed to make UTF-8 work with corrade_add_resource(): +# https://github.com/ninja-build/ninja/pull/1915 +- IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\ninja-win.zip appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.11.0/ninja-win.zip - 7z x ninja-win.zip -oC:/tools/ninja - set PATH=C:/tools/ninja;%PATH% diff --git a/src/Corrade/Utility/Test/CMakeLists.txt b/src/Corrade/Utility/Test/CMakeLists.txt index c487d2897..c6b2af593 100644 --- a/src/Corrade/Utility/Test/CMakeLists.txt +++ b/src/Corrade/Utility/Test/CMakeLists.txt @@ -318,17 +318,20 @@ corrade_add_test(UtilityUnicodeTest UnicodeTest.cpp LIBRARIES CorradeTestSuiteTe corrade_add_resource(ResourceTestData ResourceTestFiles/resources.conf) corrade_add_resource(ResourceTestEmptyFileData ResourceTestFiles/resources-empty-file.conf) corrade_add_resource(ResourceTestNothingData ResourceTestFiles/resources-nothing.conf) +corrade_add_resource(ResourceTestUtf8Data ResourceTestFiles/hýždě.conf) corrade_add_resource(ResourceTestSpacesData ResourceTestFiles/resources-spaces.conf) corrade_add_resource(ResourceTestNullTerminatedAlignedData ResourceTestFiles/resources-null-terminated-aligned.conf) corrade_add_resource(ResourceTestNullTerminatedLastFileData ResourceTestFiles/resources-null-terminated-last-file.conf) corrade_add_resource(ResourceTestAlignmentLargerThanDataSizeData ResourceTestFiles/resources-alignment-larger-than-data-size.conf) corrade_add_resource(ResourceTestSingleData ResourceTestFiles/consequence.bin SINGLE) corrade_add_resource(ResourceTestSingleEmptyData ResourceTestFiles/empty.bin SINGLE) + corrade_add_test(UtilityResourceTest ResourceTest.cpp ${ResourceTestData} ${ResourceTestEmptyFileData} ${ResourceTestNothingData} + ${ResourceTestUtf8Data} ${ResourceTestSpacesData} ${ResourceTestNullTerminatedAlignedData} ${ResourceTestNullTerminatedLastFileData} @@ -346,7 +349,6 @@ corrade_add_test(UtilityResourceTest ResourceTestFiles/consequence2.txt ResourceTestFiles/empty.bin ResourceTestFiles/hýždě.bin - ResourceTestFiles/hýždě.conf ResourceTestFiles/predisposition.bin # Referenced from resources-overriden.conf ResourceTestFiles/predisposition2.txt diff --git a/src/Corrade/Utility/Test/ResourceTest.cpp b/src/Corrade/Utility/Test/ResourceTest.cpp index 0694930de..1d10151c8 100644 --- a/src/Corrade/Utility/Test/ResourceTest.cpp +++ b/src/Corrade/Utility/Test/ResourceTest.cpp @@ -73,6 +73,7 @@ struct ResourceTest: TestSuite::Tester { void getEmptyFileRaw(); void getEmptyFileString(); void getNonexistentFile(); + void getUtf8Filename(); void filenameWithSpaces(); void nullTerminatedAligned(); @@ -108,6 +109,7 @@ ResourceTest::ResourceTest() { &ResourceTest::getEmptyFileRaw, &ResourceTest::getEmptyFileString, &ResourceTest::getNonexistentFile, + &ResourceTest::getUtf8Filename, &ResourceTest::filenameWithSpaces, &ResourceTest::nullTerminatedAligned, @@ -367,6 +369,14 @@ void ResourceTest::getNonexistentFile() { "Utility::Resource::get(): file 'nonexistentFile' was not found in group 'test'\n"); } +void ResourceTest::getUtf8Filename() { + Resource rs{"unicode"}; + + CORRADE_COMPARE_AS(rs.getString("hýždě.bin"), + Path::join(RESOURCE_TEST_DIR, "hýždě.bin"), + TestSuite::Compare::StringToFile); +} + void ResourceTest::filenameWithSpaces() { Resource rs{"spaces"};