File tree Expand file tree Collapse file tree 3 files changed +18
-0
lines changed
Expand file tree Collapse file tree 3 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ class LIBSCRATCHCPP_EXPORT Sprite
2929 Sprite (const Sprite &) = delete ;
3030
3131 void setInterface (ISpriteHandler *newInterface);
32+ ISpriteHandler *getInterface () const ; // NOTE: This can't be called interface because of... Microsoft... (it wouldn't compile on Windows)
3233
3334 std::shared_ptr<Sprite> clone ();
3435 void deleteClone ();
Original file line number Diff line number Diff line change @@ -29,6 +29,12 @@ void Sprite::setInterface(ISpriteHandler *newInterface)
2929 impl->iface ->init (this );
3030}
3131
32+ /* ! Returns the sprite interface. */
33+ ISpriteHandler *Sprite::getInterface () const
34+ {
35+ return impl->iface ;
36+ }
37+
3238/* ! Creates a clone of the sprite. */
3339std::shared_ptr<Sprite> Sprite::clone ()
3440{
Original file line number Diff line number Diff line change @@ -23,6 +23,17 @@ TEST(SpriteTest, IsStage)
2323 ASSERT_FALSE (sprite.isStage ());
2424}
2525
26+ TEST (SpriteTest, Interface)
27+ {
28+ Sprite sprite;
29+ ASSERT_EQ (sprite.getInterface (), nullptr );
30+
31+ SpriteHandlerMock handler;
32+ EXPECT_CALL (handler, init);
33+ sprite.setInterface (&handler);
34+ ASSERT_EQ (sprite.getInterface (), &handler);
35+ }
36+
2637TEST (SpriteTest, Visible)
2738{
2839 Sprite sprite;
You can’t perform that action at this time.
0 commit comments