11#include < scratchcpp/sound.h>
22#include < scratchcpp/sprite.h>
3+ #include < scratchcpp/thread.h>
34#include < scratch/sound_p.h>
45#include < audiooutputmock.h>
56#include < audioplayermock.h>
@@ -128,6 +129,16 @@ TEST_F(SoundTest, Start)
128129 sound.start ();
129130}
130131
132+ TEST_F (SoundTest, StartWithOwner)
133+ {
134+ Sound sound (" sound1" , " a" , " wav" );
135+ Thread thread (nullptr , nullptr , nullptr );
136+
137+ EXPECT_CALL (*m_player, start ());
138+ sound.start (&thread);
139+ ASSERT_EQ (sound.owner (), &thread);
140+ }
141+
131142TEST_F (SoundTest, Stop)
132143{
133144 Sound sound (" sound1" , " a" , " wav" );
@@ -136,6 +147,20 @@ TEST_F(SoundTest, Stop)
136147 sound.stop ();
137148}
138149
150+ TEST_F (SoundTest, StartAndStopWithOwner)
151+ {
152+ Sound sound (" sound1" , " a" , " wav" );
153+ Thread thread (nullptr , nullptr , nullptr );
154+
155+ EXPECT_CALL (*m_player, start ());
156+ sound.start (&thread);
157+ ASSERT_EQ (sound.owner (), &thread);
158+
159+ EXPECT_CALL (*m_player, stop ());
160+ sound.stop ();
161+ ASSERT_EQ (sound.owner (), nullptr );
162+ }
163+
139164TEST_F (SoundTest, IsPlaying)
140165{
141166 Sound sound (" sound1" , " a" , " wav" );
0 commit comments