diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2022-03-24 01:24:00 +0100 |
---|---|---|
committer | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-03-28 12:17:55 +0200 |
commit | 1c343cd54d9bdb684de2e793f2ab99bfe85ae0d2 (patch) | |
tree | 6bb1510705f71241ee2e7fcf1285979193edb3d3 /tests | |
parent | 01f34495bf261a64a790e6f71a14a445fc3f474c (diff) |
Expose Color's `to_linear()` and `to_srgb()` to scripting
Diffstat (limited to 'tests')
-rw-r--r-- | tests/core/math/test_color.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/core/math/test_color.h b/tests/core/math/test_color.h index 702f17a9cf..6f40f8ecc0 100644 --- a/tests/core/math/test_color.h +++ b/tests/core/math/test_color.h @@ -144,6 +144,24 @@ TEST_CASE("[Color] Conversion methods") { "The string representation should match the expected value."); } +TEST_CASE("[Color] Linear <-> sRGB conversion") { + const Color color = Color(0.35, 0.5, 0.6, 0.7); + const Color color_linear = color.to_linear(); + const Color color_srgb = color.to_srgb(); + CHECK_MESSAGE( + color_linear.is_equal_approx(Color(0.100481, 0.214041, 0.318547, 0.7)), + "The color converted to linear color space should match the expected value."); + CHECK_MESSAGE( + color_srgb.is_equal_approx(Color(0.62621, 0.735357, 0.797738, 0.7)), + "The color converted to sRGB color space should match the expected value."); + CHECK_MESSAGE( + color_linear.to_srgb().is_equal_approx(Color(0.35, 0.5, 0.6, 0.7)), + "The linear color converted back to sRGB color space should match the expected value."); + CHECK_MESSAGE( + color_srgb.to_linear().is_equal_approx(Color(0.35, 0.5, 0.6, 0.7)), + "The sRGB color converted back to linear color space should match the expected value."); +} + TEST_CASE("[Color] Named colors") { CHECK_MESSAGE( Color::named("red").is_equal_approx(Color::hex(0xFF0000FF)), |