File tree Expand file tree Collapse file tree 4 files changed +36
-2
lines changed
main/java/io/reactivex/rxjava3/internal/operators
test/java/io/reactivex/rxjava3/internal/operators Expand file tree Collapse file tree 4 files changed +36
-2
lines changed Original file line number Diff line number Diff line change 1313
1414package io .reactivex .rxjava3 .internal .operators .maybe ;
1515
16- import java .util .Arrays ;
1716import java .util .Objects ;
1817import java .util .concurrent .atomic .*;
1918
Original file line number Diff line number Diff line change 1313
1414package io .reactivex .rxjava3 .internal .operators .single ;
1515
16- import java .util .Arrays ;
1716import java .util .Objects ;
1817import java .util .concurrent .atomic .*;
1918
Original file line number Diff line number Diff line change @@ -221,4 +221,21 @@ public void oneSourceOnly() {
221221 .test ()
222222 .assertResult (Arrays .asList (1 ));
223223 }
224+
225+ @ Test
226+ public void onSuccessAfterDispose () {
227+ AtomicReference <MaybeObserver <? super Integer >> emitter = new AtomicReference <>();
228+
229+ TestObserver <List <Object >> to = Maybe .zipArray (Arrays ::asList ,
230+ (MaybeSource <Integer >)o -> emitter .set (o ), Maybe .<Integer >never ())
231+ .test ();
232+
233+ emitter .get ().onSubscribe (Disposable .empty ());
234+
235+ to .dispose ();
236+
237+ emitter .get ().onSuccess (1 );
238+
239+ to .assertEmpty ();
240+ }
224241}
Original file line number Diff line number Diff line change 1616import static org .junit .Assert .*;
1717
1818import java .util .*;
19+ import java .util .concurrent .atomic .AtomicReference ;
1920
2021import org .junit .Test ;
2122
2223import io .reactivex .rxjava3 .core .*;
24+ import io .reactivex .rxjava3 .disposables .Disposable ;
2325import io .reactivex .rxjava3 .exceptions .TestException ;
2426import io .reactivex .rxjava3 .functions .*;
2527import io .reactivex .rxjava3 .internal .functions .Functions ;
@@ -213,4 +215,21 @@ public void bothSucceed() {
213215 .test ()
214216 .assertResult (Arrays .asList (1 , 2 ));
215217 }
218+
219+ @ Test
220+ public void onSuccessAfterDispose () {
221+ AtomicReference <SingleObserver <? super Integer >> emitter = new AtomicReference <>();
222+
223+ TestObserver <List <Object >> to = Single .zipArray (Arrays ::asList ,
224+ (SingleSource <Integer >)o -> emitter .set (o ), Single .<Integer >never ())
225+ .test ();
226+
227+ emitter .get ().onSubscribe (Disposable .empty ());
228+
229+ to .dispose ();
230+
231+ emitter .get ().onSuccess (1 );
232+
233+ to .assertEmpty ();
234+ }
216235}
You can’t perform that action at this time.
0 commit comments