@@ -59,16 +59,20 @@ TEST_F(SoundTest, ProcessData)
5959 Sound sound (" sound1" , " a" , " wav" );
6060 sound.setRate (44100 );
6161
62- const char *data = " abc " ;
63- void *dataPtr = const_cast < void *>( static_cast < const void *>(data) );
62+ char *data = ( char *) malloc ( 4 * sizeof ( char )) ;
63+ strncpy (data, " abcd " , 4 );
6464
6565 EXPECT_CALL (*m_player, isLoaded ()).WillOnce (Return (false ));
66- EXPECT_CALL (*m_player, load (3 , dataPtr, 44100 )).WillOnce (Return (true ));
67- sound.setData (3 , dataPtr);
66+ EXPECT_CALL (*m_player, load (3 , data, 44100 )).WillOnce (Return (true ));
67+ sound.setData (3 , data);
68+
69+ // Should deallocate in setData()
70+ data = (char *)malloc (11 * sizeof (char ));
71+ strncpy (data, " Hello world!" , 11 );
6872
6973 EXPECT_CALL (*m_player, isLoaded ()).WillOnce (Return (true ));
7074 EXPECT_CALL (*m_player, load).Times (0 );
71- sound.setData (3 , dataPtr );
75+ sound.setData (3 , data );
7276}
7377
7478TEST_F (SoundTest, SetVolume)
@@ -151,12 +155,12 @@ TEST_F(SoundTest, Clone)
151155 sound->setRate (44100 );
152156 sound->setSampleCount (10000 );
153157
154- const char *data = " abc " ;
155- void *dataPtr = const_cast < void *>( static_cast < const void *>(data) );
158+ char *data = ( char *) malloc ( 4 * sizeof ( char )) ;
159+ strncpy (data, " abcd " , 4 );
156160
157161 EXPECT_CALL (*m_player, isLoaded ()).WillOnce (Return (false ));
158- EXPECT_CALL (*m_player, load (3 , dataPtr , 44100 )).WillOnce (Return (true ));
159- sound->setData (3 , dataPtr );
162+ EXPECT_CALL (*m_player, load (3 , data , 44100 )).WillOnce (Return (true ));
163+ sound->setData (3 , data );
160164
161165 auto clonePlayer = std::make_shared<AudioPlayerMock>();
162166 EXPECT_CALL (m_playerFactory, createAudioPlayer ()).WillOnce (Return (clonePlayer));
0 commit comments