summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2023-01-31 18:19:08 -0500
committerTim Flynn <trflynn89@pm.me>2023-02-01 08:56:56 -0500
commitb8b5e0f6806f9db596a968f33798c8eac40c1ced (patch)
tree72449986fd23171aeee2f36c23004af131b38354 /Tests
parent389224c2d291b16651e1f946a05a6b90e9859b2e (diff)
downloadserenity-b8b5e0f6806f9db596a968f33798c8eac40c1ced.zip
LibGfx: Move TestFontHandling over to input file approach in 8cfabbcd933
Rather than reading files out of /res, put them in a subfolder of Tests/LibGfx/ and pick the path based on AK_OS_SERENITY. That way, the tests can also pass when run under lagom.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/LibGfx/CMakeLists.txt2
-rw-r--r--Tests/LibGfx/TestFontHandling.cpp19
-rw-r--r--Tests/LibGfx/test-inputs/TestFont.font (renamed from Tests/LibGfx/TestFont.font)bin25200 -> 25200 bytes
3 files changed, 16 insertions, 5 deletions
diff --git a/Tests/LibGfx/CMakeLists.txt b/Tests/LibGfx/CMakeLists.txt
index 71402111d4..9345fa930c 100644
--- a/Tests/LibGfx/CMakeLists.txt
+++ b/Tests/LibGfx/CMakeLists.txt
@@ -8,4 +8,4 @@ foreach(source IN LISTS TEST_SOURCES)
serenity_test("${source}" LibGfx LIBS LibGfx)
endforeach()
-install(FILES TestFont.font DESTINATION usr/Tests/LibGfx)
+install(DIRECTORY test-inputs DESTINATION usr/Tests/LibGfx)
diff --git a/Tests/LibGfx/TestFontHandling.cpp b/Tests/LibGfx/TestFontHandling.cpp
index e2917f038c..ac560b0940 100644
--- a/Tests/LibGfx/TestFontHandling.cpp
+++ b/Tests/LibGfx/TestFontHandling.cpp
@@ -12,21 +12,32 @@
#include <stdlib.h>
#include <unistd.h>
+#ifdef AK_OS_SERENITY
+# define TEST_INPUT(x) ("/usr/Tests/LibGfx/test-inputs/" x)
+#else
+# define TEST_INPUT(x) ("test-inputs/" x)
+#endif
+
TEST_CASE(test_fontdatabase_get_by_name)
{
- auto name = "Liza 10 400 0"sv;
+ Gfx::FontDatabase::set_default_fonts_lookup_path(TEST_INPUT(""));
+
+ auto name = "Family 12 400 0"sv;
auto& font_database = Gfx::FontDatabase::the();
EXPECT(!font_database.get_by_name(name)->name().is_null());
}
TEST_CASE(test_fontdatabase_get)
{
+ Gfx::FontDatabase::set_default_fonts_lookup_path(TEST_INPUT(""));
auto& font_database = Gfx::FontDatabase::the();
- EXPECT(!font_database.get("Liza", 10, 400, 0)->name().is_null());
+ EXPECT(!font_database.get("Family", 12, 400, 0)->name().is_null());
}
TEST_CASE(test_fontdatabase_for_each_font)
{
+ Gfx::FontDatabase::set_default_fonts_lookup_path(TEST_INPUT(""));
+
auto& font_database = Gfx::FontDatabase::the();
font_database.for_each_font([&](Gfx::Font const& font) {
EXPECT(!font.name().is_null());
@@ -119,7 +130,7 @@ TEST_CASE(test_glyph_or_emoji_width)
TEST_CASE(test_load_from_file)
{
- auto font = Gfx::BitmapFont::load_from_file("/res/fonts/PebbletonBold14.font");
+ auto font = Gfx::BitmapFont::load_from_file(TEST_INPUT("TestFont.font"sv));
EXPECT(!font->name().is_null());
}
@@ -137,7 +148,7 @@ TEST_CASE(test_write_to_file)
TEST_CASE(test_character_set_masking)
{
- auto font = Gfx::BitmapFont::try_load_from_file("/usr/Tests/LibGfx/TestFont.font");
+ auto font = Gfx::BitmapFont::try_load_from_file(TEST_INPUT("TestFont.font"sv));
EXPECT(!font.is_error());
auto unmasked_font = font.value()->unmasked_character_set();
diff --git a/Tests/LibGfx/TestFont.font b/Tests/LibGfx/test-inputs/TestFont.font
index a6423c8919..a6423c8919 100644
--- a/Tests/LibGfx/TestFont.font
+++ b/Tests/LibGfx/test-inputs/TestFont.font
Binary files differ