File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed
Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -241,5 +241,36 @@ final class ShareReplayTests: XCTestCase {
241241 XCTAssertEqual ( completions, [ . finished] )
242242 XCTAssertNil ( weakSource)
243243 }
244+
245+ func testSequentialUpstreamWithShareReplay( ) {
246+ let publisher = Just ( 1 )
247+ . eraseToAnyPublisher ( )
248+ . share ( replay: 1 )
249+
250+ var valueReceived = false
251+ var finishedReceived = false
252+
253+ Publishers . Zip ( publisher, publisher)
254+ . sink (
255+ receiveCompletion: { completion in
256+ switch completion {
257+ case . finished:
258+ finishedReceived = true
259+ case let . failure( error) :
260+ XCTFail ( " Unexpected completion - failure: \( error) . " )
261+ }
262+ } ,
263+ receiveValue: { leftValue, rightValue in
264+ XCTAssertEqual ( leftValue, 1 )
265+ XCTAssertEqual ( rightValue, 1 )
266+
267+ valueReceived = true
268+ }
269+ )
270+ . store ( in: & subscriptions)
271+
272+ XCTAssertTrue ( valueReceived)
273+ XCTAssertTrue ( finishedReceived)
274+ }
244275}
245276#endif
You can’t perform that action at this time.
0 commit comments