|
1 | 1 | #include <scratchcpp/scratchconfiguration.h> |
2 | 2 | #include <imageformatfactorymock.h> |
| 3 | +#include <graphicseffectmock.h> |
3 | 4 |
|
4 | 5 | #include "../common.h" |
5 | 6 | #include "imageformats/stub/imageformatstub.h" |
@@ -80,3 +81,27 @@ TEST_F(ScratchConfigurationTest, ImageFormats) |
80 | 81 | testing::Mock::AllowLeak(m_imageFormatMock1.get()); |
81 | 82 | testing::Mock::AllowLeak(m_imageFormatMock2.get()); |
82 | 83 | } |
| 84 | + |
| 85 | +TEST_F(ScratchConfigurationTest, GraphicsEffects) |
| 86 | +{ |
| 87 | + auto effect1 = std::make_shared<GraphicsEffectMock>(); |
| 88 | + auto effect2 = std::make_shared<GraphicsEffectMock>(); |
| 89 | + |
| 90 | + EXPECT_CALL(*effect1, name()).WillOnce(Return("effect1")); |
| 91 | + EXPECT_CALL(*effect2, name()).WillOnce(Return("effect2")); |
| 92 | + ScratchConfiguration::registerGraphicsEffect(effect1); |
| 93 | + ScratchConfiguration::registerGraphicsEffect(effect2); |
| 94 | + auto format1 = std::make_shared<ImageFormatStub>(); |
| 95 | + auto format2 = std::make_shared<ImageFormatStub>(); |
| 96 | + |
| 97 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect1"), effect1.get()); |
| 98 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect2"), effect2.get()); |
| 99 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect3"), nullptr); |
| 100 | + |
| 101 | + ScratchConfiguration::removeGraphicsEffect("effect2"); |
| 102 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect1"), effect1.get()); |
| 103 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect2"), nullptr); |
| 104 | + |
| 105 | + ScratchConfiguration::removeGraphicsEffect("effect1"); |
| 106 | + ASSERT_EQ(ScratchConfiguration::getGraphicsEffect("effect1"), nullptr); |
| 107 | +} |
0 commit comments