mirror of
https://github.com/SFML/SFML.git
synced 2025-03-14 01:40:05 +08:00
Use Catch2 generators to simplify tests
This commit is contained in:
parent
a886fddbdb
commit
0eb92fc27d
@ -6,10 +6,10 @@
|
||||
#include <SFML/System/Time.hpp>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
#include <catch2/generators/catch_generators.hpp>
|
||||
|
||||
#include <SystemUtil.hpp>
|
||||
#include <array>
|
||||
#include <fstream>
|
||||
#include <type_traits>
|
||||
|
||||
TEST_CASE("[Audio] sf::InputSoundFile")
|
||||
@ -162,23 +162,14 @@ TEST_CASE("[Audio] sf::InputSoundFile")
|
||||
|
||||
SECTION("Valid file")
|
||||
{
|
||||
const std::u32string filenameSuffix = GENERATE(U"", U"-ń", U"-🐌");
|
||||
|
||||
SECTION("flac")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile("Audio/ding.flac"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/ding-ń.flac"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/ding-🐌.flac"));
|
||||
}
|
||||
const std::filesystem::path filename = U"Audio/ding" + filenameSuffix + U".flac";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(inputSoundFile.openFromFile(filename));
|
||||
CHECK(inputSoundFile.getSampleCount() == 87'798);
|
||||
CHECK(inputSoundFile.getChannelCount() == 1);
|
||||
CHECK(inputSoundFile.getSampleRate() == 44'100);
|
||||
@ -189,21 +180,10 @@ TEST_CASE("[Audio] sf::InputSoundFile")
|
||||
|
||||
SECTION("mp3")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile("Audio/ding.mp3"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/ding-ń.mp3"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/ding-🐌.mp3"));
|
||||
}
|
||||
const std::filesystem::path filename = U"Audio/ding" + filenameSuffix + U".mp3";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(inputSoundFile.openFromFile(filename));
|
||||
CHECK(inputSoundFile.getSampleCount() == 87'798);
|
||||
CHECK(inputSoundFile.getChannelCount() == 1);
|
||||
CHECK(inputSoundFile.getSampleRate() == 44'100);
|
||||
@ -214,21 +194,10 @@ TEST_CASE("[Audio] sf::InputSoundFile")
|
||||
|
||||
SECTION("ogg")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile("Audio/doodle_pop.ogg"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/doodle_pop-ń.ogg"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/doodle_pop-🐌.ogg"));
|
||||
}
|
||||
const std::filesystem::path filename = U"Audio/doodle_pop" + filenameSuffix + U".ogg";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(inputSoundFile.openFromFile(filename));
|
||||
CHECK(inputSoundFile.getSampleCount() == 2'116'992);
|
||||
CHECK(inputSoundFile.getChannelCount() == 2);
|
||||
CHECK(inputSoundFile.getSampleRate() == 44'100);
|
||||
@ -239,21 +208,10 @@ TEST_CASE("[Audio] sf::InputSoundFile")
|
||||
|
||||
SECTION("wav")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile("Audio/killdeer.wav"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/killdeer-ń.wav"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(inputSoundFile.openFromFile(U"Audio/killdeer-🐌.wav"));
|
||||
}
|
||||
const std::filesystem::path filename = U"Audio/killdeer" + filenameSuffix + U".wav";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(inputSoundFile.openFromFile(filename));
|
||||
CHECK(inputSoundFile.getSampleCount() == 112'941);
|
||||
CHECK(inputSoundFile.getChannelCount() == 1);
|
||||
CHECK(inputSoundFile.getSampleRate() == 22'050);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include <SFML/System/FileInputStream.hpp>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
#include <catch2/generators/catch_generators.hpp>
|
||||
|
||||
#include <AudioUtil.hpp>
|
||||
#include <SystemUtil.hpp>
|
||||
@ -133,21 +134,11 @@ TEST_CASE("[Audio] sf::Music", runAudioDeviceTests())
|
||||
|
||||
SECTION("Valid file")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(music.openFromFile("Audio/ding.mp3"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(music.openFromFile(U"Audio/ding-ń.mp3"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(music.openFromFile(U"Audio/ding-🐌.mp3"));
|
||||
}
|
||||
const std::u32string filenameSuffix = GENERATE(U"", U"-ń", U"-🐌");
|
||||
const std::filesystem::path filename = U"Audio/ding" + filenameSuffix + U".mp3";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(music.openFromFile(filename));
|
||||
CHECK(music.getDuration() == sf::microseconds(1990884));
|
||||
const auto [offset, length] = music.getLoopPoints();
|
||||
CHECK(offset == sf::Time::Zero);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include <SFML/System/FileInputStream.hpp>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
#include <catch2/generators/catch_generators.hpp>
|
||||
|
||||
#include <AudioUtil.hpp>
|
||||
#include <SystemUtil.hpp>
|
||||
@ -122,21 +123,11 @@ TEST_CASE("[Audio] sf::SoundBuffer", runAudioDeviceTests())
|
||||
|
||||
SECTION("Valid file")
|
||||
{
|
||||
SECTION("ASCII filename")
|
||||
{
|
||||
REQUIRE(soundBuffer.loadFromFile("Audio/ding.flac"));
|
||||
}
|
||||
|
||||
SECTION("Polish filename")
|
||||
{
|
||||
REQUIRE(soundBuffer.loadFromFile(U"Audio/ding-ń.flac"));
|
||||
}
|
||||
|
||||
SECTION("Emoji filename")
|
||||
{
|
||||
REQUIRE(soundBuffer.loadFromFile(U"Audio/ding-🐌.flac"));
|
||||
}
|
||||
const std::u32string filenameSuffix = GENERATE(U"", U"-ń", U"-🐌");
|
||||
const std::filesystem::path filename = U"Audio/ding" + filenameSuffix + U".flac";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
REQUIRE(soundBuffer.loadFromFile(filename));
|
||||
CHECK(soundBuffer.getSamples() != nullptr);
|
||||
CHECK(soundBuffer.getSampleCount() == 87798);
|
||||
CHECK(soundBuffer.getSampleRate() == 44100);
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include <SFML/System/FileInputStream.hpp>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
#include <catch2/generators/catch_generators.hpp>
|
||||
|
||||
#include <array>
|
||||
#include <string_view>
|
||||
@ -93,22 +94,12 @@ TEST_CASE("[System] sf::FileInputStream")
|
||||
|
||||
SECTION("open()")
|
||||
{
|
||||
const std::u32string filenameSuffix = GENERATE(U"", U"-ń", U"-🐌");
|
||||
const std::filesystem::path filename = U"System/test" + filenameSuffix + U".txt";
|
||||
INFO("Filename: " << reinterpret_cast<const char*>(filename.u8string().c_str()));
|
||||
|
||||
sf::FileInputStream fileInputStream;
|
||||
|
||||
SECTION("From ASCII filename")
|
||||
{
|
||||
REQUIRE(fileInputStream.open("System/test.txt"));
|
||||
}
|
||||
|
||||
SECTION("From Polish filename")
|
||||
{
|
||||
REQUIRE(fileInputStream.open(U"System/test-ń.txt"));
|
||||
}
|
||||
|
||||
SECTION("From emoji filename")
|
||||
{
|
||||
REQUIRE(fileInputStream.open(U"System/test-🐌.txt"));
|
||||
}
|
||||
CHECK(fileInputStream.open(filename));
|
||||
|
||||
CHECK(fileInputStream.read(buffer.data(), 5) == 5);
|
||||
CHECK(fileInputStream.tell() == 5);
|
||||
|
Loading…
x
Reference in New Issue
Block a user