File tree Expand file tree Collapse file tree 5 files changed +99
-0
lines changed
Expand file tree Collapse file tree 5 files changed +99
-0
lines changed Original file line number Diff line number Diff line change @@ -26,3 +26,4 @@ add_subdirectory(blocks)
2626add_subdirectory (scratchconfiguration)
2727add_subdirectory (assets)
2828add_subdirectory (script)
29+ add_subdirectory (extensions)
Original file line number Diff line number Diff line change 1+ # iextension_test
2+ add_executable (
3+ iextension_test
4+ iextension_test.cpp
5+ testextension.cpp
6+ testextension.h
7+ )
8+
9+ target_link_libraries (
10+ iextension_test
11+ GTest::gtest_main
12+ GTest::gmock_main
13+ scratchcpp
14+ scratchcpp_mocks
15+ )
16+
17+ gtest_discover_tests(iextension_test)
Original file line number Diff line number Diff line change 1+ #include < enginemock.h>
2+
3+ #include " ../common.h"
4+ #include " testextension.h"
5+
6+ using namespace libscratchcpp ;
7+
8+ class IExtensionTest : public testing ::Test
9+ {
10+ public:
11+ void SetUp () override { m_extension = std::make_unique<TestExtension>(); };
12+
13+ std::unique_ptr<IExtension> m_extension;
14+ EngineMock m_engine;
15+ };
16+
17+ TEST_F (IExtensionTest, Name)
18+ {
19+ ASSERT_EQ (m_extension->name (), " Test" );
20+ }
21+
22+ TEST_F (IExtensionTest, Description)
23+ {
24+ ASSERT_EQ (m_extension->description (), " Test extension" );
25+ }
26+
27+ TEST_F (IExtensionTest, IncludeByDefault)
28+ {
29+ ASSERT_FALSE (m_extension->includeByDefault ());
30+ }
31+
32+ TEST_F (IExtensionTest, RegisterSections)
33+ {
34+ std::shared_ptr<IBlockSection> section = nullptr ;
35+ EXPECT_CALL (m_engine, registerSection (section)).Times (1 );
36+ m_extension->registerSections (&m_engine);
37+ }
Original file line number Diff line number Diff line change 1+ #include < scratchcpp/iengine.h>
2+
3+ #include " testextension.h"
4+
5+ using namespace libscratchcpp ;
6+
7+ std::string TestExtension::name () const
8+ {
9+ return " Test" ;
10+ }
11+
12+ std::string TestExtension::description () const
13+ {
14+ return " Test extension" ;
15+ }
16+
17+ bool TestExtension::includeByDefault () const
18+ {
19+ return IExtension::includeByDefault ();
20+ }
21+
22+ void TestExtension::registerSections (IEngine *engine)
23+ {
24+ engine->registerSection (nullptr );
25+ }
Original file line number Diff line number Diff line change 1+ #pragma once
2+
3+ #include < scratchcpp/iextension.h>
4+
5+ namespace libscratchcpp
6+ {
7+
8+ class TestExtension : public IExtension
9+ {
10+ public:
11+ std::string name () const override ;
12+ std::string description () const override ;
13+
14+ bool includeByDefault () const override ;
15+
16+ void registerSections (IEngine *engine) override ;
17+ };
18+
19+ } // namespace libscratchcpp
You can’t perform that action at this time.
0 commit comments