summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/test_demo_effects.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/tests/test_demo_effects.cc b/src/tests/test_demo_effects.cc
index a5500a8..25ada59 100644
--- a/src/tests/test_demo_effects.cc
+++ b/src/tests/test_demo_effects.cc
@@ -14,11 +14,12 @@
// Expected effect counts - UPDATE THESE when adding new effects!
static constexpr int EXPECTED_POST_PROCESS_COUNT =
8; // FlashEffect, PassthroughEffect, GaussianBlurEffect,
- // ChromaAberrationEffect, DistortEffect, SolarizeEffect, FadeEffect,
- // ThemeModulationEffect
+ // ChromaAberrationEffect, SolarizeEffect, FadeEffect,
+ // ThemeModulationEffect, VignetteEffect
static constexpr int EXPECTED_SCENE_COUNT =
- 6; // HeptagonEffect, ParticlesEffect, ParticleSprayEffect,
- // MovingEllipseEffect, FlashCubeEffect, Hybrid3DEffect
+ 8; // HeptagonEffect, ParticlesEffect, ParticleSprayEffect,
+ // MovingEllipseEffect, FlashCubeEffect, Hybrid3DEffect,
+ // CircleMaskEffect, RotatingCubeEffect
#include "effect_test_helpers.h"
#include "gpu/demo_effects.h"
@@ -93,11 +94,11 @@ static void test_post_process_effects() {
std::make_shared<GaussianBlurEffect>(fixture.ctx())},
{"ChromaAberrationEffect",
std::make_shared<ChromaAberrationEffect>(fixture.ctx())},
- {"DistortEffect", std::make_shared<DistortEffect>(fixture.ctx())},
{"SolarizeEffect", std::make_shared<SolarizeEffect>(fixture.ctx())},
{"FadeEffect", std::make_shared<FadeEffect>(fixture.ctx())},
{"ThemeModulationEffect",
std::make_shared<ThemeModulationEffect>(fixture.ctx())},
+ {"VignetteEffect", std::make_shared<VignetteEffect>(fixture.ctx())},
};
int passed = 0;
@@ -154,6 +155,8 @@ static void test_scene_effects() {
std::make_shared<MovingEllipseEffect>(fixture.ctx())},
{"FlashCubeEffect", std::make_shared<FlashCubeEffect>(fixture.ctx())},
{"Hybrid3DEffect", std::make_shared<Hybrid3DEffect>(fixture.ctx())},
+ {"CircleMaskEffect", std::make_shared<CircleMaskEffect>(fixture.ctx())},
+ {"RotatingCubeEffect", std::make_shared<RotatingCubeEffect>(fixture.ctx())},
};
int passed = 0;
@@ -163,9 +166,11 @@ static void test_scene_effects() {
assert(!effect->is_post_process() &&
"Scene effect should return false for is_post_process()");
- // FlashCubeEffect and Hybrid3DEffect require full 3D pipeline (Renderer3D)
+ // FlashCubeEffect, Hybrid3DEffect, RotatingCubeEffect, and CircleMaskEffect require full 3D pipeline (Renderer3D) or auxiliary textures
const bool requires_3d = (strcmp(name, "FlashCubeEffect") == 0 ||
- strcmp(name, "Hybrid3DEffect") == 0);
+ strcmp(name, "Hybrid3DEffect") == 0 ||
+ strcmp(name, "RotatingCubeEffect") == 0 ||
+ strcmp(name, "CircleMaskEffect") == 0);
const int result = test_effect_smoke(name, effect, &main_seq, requires_3d);
if (result == 1) {
@@ -211,6 +216,10 @@ static void test_effect_type_classification() {
assert(blur->is_post_process() &&
"GaussianBlurEffect should be post-process");
+ auto vignette = std::make_shared<VignetteEffect>(fixture.ctx());
+ assert(vignette->is_post_process() &&
+ "VignetteEffect should be post-process");
+
// Scene effects should return false
auto heptagon = std::make_shared<HeptagonEffect>(fixture.ctx());
assert(!heptagon->is_post_process() &&