90 // |
90 // |
91 // ----------------------------------------------------------------------------- |
91 // ----------------------------------------------------------------------------- |
92 // |
92 // |
93 void UT_CMusPropertyMonitor::SetupL() |
93 void UT_CMusPropertyMonitor::SetupL() |
94 { |
94 { |
95 iMusPropertyMonitor = CMusPropertyMonitor::NewL(); |
95 iMusPropertyMonitor = CMusPropertyMonitor::NewL(*this); |
96 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; |
96 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; |
|
97 iMusCallStateObserverInovked = EFalse; |
97 } |
98 } |
98 |
99 |
99 |
100 |
100 // ----------------------------------------------------------------------------- |
101 // ----------------------------------------------------------------------------- |
101 // |
102 // |
106 delete iMusPropertyMonitor; |
107 delete iMusPropertyMonitor; |
107 PropertyHelper::Close(); |
108 PropertyHelper::Close(); |
108 } |
109 } |
109 |
110 |
110 |
111 |
111 |
|
112 |
|
113 |
|
114 |
|
115 // TEST CASES |
112 // TEST CASES |
116 |
113 |
117 // ----------------------------------------------------------------------------- |
114 // ----------------------------------------------------------------------------- |
118 // |
115 // |
119 // ----------------------------------------------------------------------------- |
116 // ----------------------------------------------------------------------------- |
120 // |
117 // |
121 void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunLL() |
118 void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunLL() |
122 { |
119 { |
123 EUNIT_ASSERT( iMusPropertyMonitor); |
120 EUNIT_ASSERT( iMusPropertyMonitor); |
124 EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); |
121 EUNIT_ASSERT( !iMusCallStateObserverInovked ); |
125 |
|
126 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; |
122 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; |
127 iMusPropertyMonitor->Cancel(); |
123 iMusPropertyMonitor->Cancel(); |
128 iMusPropertyMonitor->RunL(); |
124 iMusPropertyMonitor->RunL(); |
129 EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); |
125 EUNIT_ASSERT( iMusCallStateObserverInovked ); |
130 |
|
131 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallConnected; |
|
132 iMusPropertyMonitor->Cancel(); |
|
133 iMusPropertyMonitor->RunL(); |
|
134 EUNIT_ASSERT( iMusPropertyMonitor->iManager ); |
|
135 |
|
136 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceTerminated; |
|
137 iMusPropertyMonitor->Cancel(); |
|
138 iMusPropertyMonitor->RunL(); |
|
139 EUNIT_ASSERT( iMusPropertyMonitor->iManager ); |
|
140 |
|
141 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallHold; |
|
142 iMusPropertyMonitor->Cancel(); |
|
143 iMusPropertyMonitor->RunL(); |
|
144 EUNIT_ASSERT( iMusPropertyMonitor->iManager ); |
|
145 |
|
146 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceCall; |
|
147 iMusPropertyMonitor->Cancel(); |
|
148 iMusPropertyMonitor->RunL(); |
|
149 EUNIT_ASSERT( iMusPropertyMonitor->iManager ); |
|
150 |
|
151 iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; |
|
152 iMusPropertyMonitor->Cancel(); |
|
153 iMusPropertyMonitor->RunL(); |
|
154 EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); |
|
155 |
|
156 iMusPropertyMonitor->iPropertyEvent.iPValue = 555; |
|
157 iMusPropertyMonitor->Cancel(); |
|
158 iMusPropertyMonitor->RunL(); |
|
159 EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); |
|
160 |
|
161 } |
126 } |
162 |
127 |
163 |
128 |
164 |
129 |
165 // ----------------------------------------------------------------------------- |
130 // ----------------------------------------------------------------------------- |
179 // |
144 // |
180 // ----------------------------------------------------------------------------- |
145 // ----------------------------------------------------------------------------- |
181 // |
146 // |
182 void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunErrorL() |
147 void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunErrorL() |
183 { |
148 { |
|
149 EUNIT_ASSERT( !iMusCallStateObserverInovked ); |
184 EUNIT_ASSERT( iMusPropertyMonitor ); |
150 EUNIT_ASSERT( iMusPropertyMonitor ); |
|
151 TInt CallState; |
185 TInt error = KErrNotFound; |
152 TInt error = KErrNotFound; |
186 iMusPropertyMonitor->RunError(error); |
153 |
187 } |
154 // Call is Established: |
188 |
155 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
189 |
156 NMusSessionInformationApi::KMusCallEvent, |
190 |
157 NMusSessionInformationApi::ECallConnected ) ); |
191 |
158 |
|
159 // Test1: Invoking Error Situation, Ensure Calll is disconected. |
|
160 User::LeaveIfError( iMusPropertyMonitor->RunError(error)); |
|
161 User::LeaveIfError( RProperty::Get( NMusSessionInformationApi::KCategoryUid, |
|
162 NMusSessionInformationApi::KMusCallEvent, |
|
163 CallState ) ); |
|
164 EUNIT_ASSERT( CallState == NMusSessionInformationApi::ENoCall ); |
|
165 EUNIT_ASSERT( iMusCallStateObserverInovked ); |
|
166 } |
|
167 |
|
168 |
|
169 // ----------------------------------------------------------------------------- |
|
170 // UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_IsCallConnected() |
|
171 // Checks from the P/S keys if the Call is connected. |
|
172 // ----------------------------------------------------------------------------- |
|
173 // |
|
174 void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_IsCallConnected() |
|
175 { |
|
176 // Test1: Call Not Connected: |
|
177 TBool callConnected = EFalse; |
|
178 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
179 NMusSessionInformationApi::KMusCallEvent, |
|
180 NMusSessionInformationApi::ENoCall ) ); |
|
181 |
|
182 callConnected = iMusPropertyMonitor->IsCallConnected(); |
|
183 EUNIT_ASSERT( callConnected == EFalse ); |
|
184 |
|
185 // Test2: Call Connected: |
|
186 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
187 NMusSessionInformationApi::KMusCallEvent, |
|
188 NMusSessionInformationApi::ECallConnected ) ); |
|
189 |
|
190 callConnected = iMusPropertyMonitor->IsCallConnected(); |
|
191 EUNIT_ASSERT( callConnected == ETrue ); |
|
192 |
|
193 |
|
194 // Test3: Hold and Conference are concidered as call connected |
|
195 User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, |
|
196 NMusSessionInformationApi::KMusCallEvent, |
|
197 NMusSessionInformationApi::ECallHold ) ); |
|
198 |
|
199 callConnected = iMusPropertyMonitor->IsCallConnected(); |
|
200 EUNIT_ASSERT( callConnected == ETrue ); |
|
201 } |
|
202 |
|
203 |
|
204 // ----------------------------------------------------------------------------- |
|
205 // MusCallStateChanged from the MusCallStateObserver |
|
206 // ----------------------------------------------------------------------------- |
|
207 // |
|
208 void UT_CMusPropertyMonitor::MusCallStateChanged() |
|
209 { |
|
210 iMusCallStateObserverInovked = ETrue; |
|
211 } |
|
212 |
192 |
213 |
193 |
214 |
194 // TEST TABLE |
215 // TEST TABLE |
195 |
216 |
196 EUNIT_BEGIN_TEST_TABLE( |
217 EUNIT_BEGIN_TEST_TABLE( |