The following test case fails with RxJava-2.0.0, but works fine with 1.2.1:
public class RepeatWhenTest {
@Test
public void shouldDisposeInnerObservable() {
final PublishSubject<String> subject = PublishSubject.create();
final Disposable disposable = Observable.just("Leak")
.repeatWhen(completions -> completions.switchMap(ignore -> subject))
.subscribe();
assertTrue(subject.hasObservers());
disposable.dispose();
assertFalse(subject.hasObservers());
}
}