Skip to content

Commit acf8e9f

Browse files
committed
Wait for demaind before signalling onNext
Fixes reactive-streams#277. Fixes two whitebox subscriber tests where they weren't waiting for demand before signalling onNext.
1 parent 9464664 commit acf8e9f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Diff for: tck/src/main/java/org/reactivestreams/tck/SubscriberWhiteboxVerification.java

+6
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ public void required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCall
267267
public void run(WhiteboxTestStage stage) throws InterruptedException {
268268
stage.puppet().triggerRequest(1);
269269
stage.puppet().signalCancel();
270+
stage.expectRequest();
270271
stage.signalNext();
271272

272273
stage.puppet().triggerRequest(1);
@@ -437,7 +438,12 @@ public void required_spec308_requestMustRegisterGivenNumberElementsToBeProduced(
437438
@Override
438439
public void run(WhiteboxTestStage stage) throws InterruptedException {
439440
stage.puppet().triggerRequest(2);
441+
long requestedElements = stage.expectRequest();
440442
stage.probe.expectNext(stage.signalNext());
443+
// Some subscribers may only request one element at a time.
444+
if (requestedElements < 2) {
445+
stage.expectRequest();
446+
}
441447
stage.probe.expectNext(stage.signalNext());
442448

443449
stage.probe.expectNone();

0 commit comments

Comments
 (0)