@@ -185,5 +185,55 @@ public void testCompletedAfterErrorIsNotSent() {
185185 verify (aObserver , never ()).onNext ("two" );
186186 verify (aObserver , never ()).onCompleted ();
187187 }
188+ @ Test
189+ public void testCompletedAfterErrorIsNotSent2 () {
190+ BehaviorSubject <String > subject = BehaviorSubject .create ("default" );
191+
192+ @ SuppressWarnings ("unchecked" )
193+ Observer <String > aObserver = mock (Observer .class );
194+ subject .subscribe (aObserver );
195+
196+ subject .onNext ("one" );
197+ subject .onError (testException );
198+ subject .onNext ("two" );
199+ subject .onCompleted ();
200+
201+ verify (aObserver , times (1 )).onNext ("default" );
202+ verify (aObserver , times (1 )).onNext ("one" );
203+ verify (aObserver , times (1 )).onError (testException );
204+ verify (aObserver , never ()).onNext ("two" );
205+ verify (aObserver , never ()).onCompleted ();
206+
207+ Observer <Object > o2 = mock (Observer .class );
208+ subject .subscribe (o2 );
209+ verify (o2 , times (1 )).onError (testException );
210+ verify (o2 , never ()).onNext (any ());
211+ verify (o2 , never ()).onCompleted ();
212+ }
213+
214+ @ Test
215+ public void testCompletedAfterErrorIsNotSent3 () {
216+ BehaviorSubject <String > subject = BehaviorSubject .create ("default" );
217+
218+ @ SuppressWarnings ("unchecked" )
219+ Observer <String > aObserver = mock (Observer .class );
220+ subject .subscribe (aObserver );
221+
222+ subject .onNext ("one" );
223+ subject .onCompleted ();
224+ subject .onNext ("two" );
225+ subject .onCompleted ();
188226
227+ verify (aObserver , times (1 )).onNext ("default" );
228+ verify (aObserver , times (1 )).onNext ("one" );
229+ verify (aObserver , times (1 )).onCompleted ();
230+ verify (aObserver , never ()).onError (any (Throwable .class ));
231+ verify (aObserver , never ()).onNext ("two" );
232+
233+ Observer <Object > o2 = mock (Observer .class );
234+ subject .subscribe (o2 );
235+ verify (o2 , times (1 )).onCompleted ();
236+ verify (o2 , never ()).onNext (any ());
237+ verify (aObserver , never ()).onError (any (Throwable .class ));
238+ }
189239}
0 commit comments