Skip to content

Commit 0449a2d

Browse files
committed
Adds release resources tests.
1 parent c4f9c57 commit 0449a2d

File tree

1 file changed

+100
-3
lines changed

1 file changed

+100
-3
lines changed

Tests/RxSwiftTests/Observable+StandardSequenceOperatorsTest2.swift

Lines changed: 100 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,24 @@ extension ObservableStandardSequenceOperatorsTest
684684
Subscription(200, 290)
685685
])
686686
}
687-
687+
688+
#if TRACE_RESOURCES
689+
func testFlatMapWithIndexReleasesResourcesOnComplete() {
690+
_ = Observable<Int>.just(1).flatMapWithIndex { _ in Observable.just(1) }.subscribe()
691+
}
692+
693+
func testFlatMapWithIndex1ReleasesResourcesOnError() {
694+
_ = Observable<Int>.error(testError).flatMapWithIndex { _ in Observable.just(1) }.subscribe()
695+
}
696+
697+
func testFlatMapWithIndex2ReleasesResourcesOnError() {
698+
_ = Observable<Int>.just(1).flatMapWithIndex { _ -> Observable<Int> in throw testError }.subscribe()
699+
}
700+
701+
func testFlatMapWithIndex3ReleasesResourcesOnError() {
702+
_ = Observable<Int>.just(1).flatMapWithIndex { _ -> Observable<Int> in Observable.error(testError) }.subscribe()
703+
}
704+
#endif
688705
}
689706

690707
// MARK: take
@@ -1149,6 +1166,16 @@ extension ObservableStandardSequenceOperatorsTest {
11491166
k.on(.next(!n))
11501167
})
11511168
}
1169+
1170+
#if TRACE_RESOURCES
1171+
func testTakeReleasesResourcesOnComplete() {
1172+
_ = Observable<Int>.of(1, 2).take(1).subscribe()
1173+
}
1174+
1175+
func testTakeReleasesResourcesOnError() {
1176+
_ = Observable<Int>.error(testError).take(1).subscribe()
1177+
}
1178+
#endif
11521179
}
11531180

11541181
// MARK: takeLast
@@ -1403,6 +1430,16 @@ extension ObservableStandardSequenceOperatorsTest {
14031430

14041431
XCTAssertEqual(elements, [false])
14051432
}
1433+
1434+
#if TRACE_RESOURCES
1435+
func testTakeLastReleasesResourcesOnComplete() {
1436+
_ = Observable<Int>.of(1, 2).takeLast(1).subscribe()
1437+
}
1438+
1439+
func testTakeLastReleasesResourcesOnError() {
1440+
_ = Observable<Int>.error(testError).takeLast(1).subscribe()
1441+
}
1442+
#endif
14061443
}
14071444

14081445
// MARK: skip
@@ -1797,6 +1834,16 @@ extension ObservableStandardSequenceOperatorsTest {
17971834
Subscription(200, 400)
17981835
])
17991836
}
1837+
1838+
#if TRACE_RESOURCES
1839+
func testSkipReleasesResourcesOnComplete() {
1840+
_ = Observable<Int>.just(1).skip(1).subscribe()
1841+
}
1842+
1843+
func testSkipReleasesResourcesOnError() {
1844+
_ = Observable<Int>.error(testError).skip(1).subscribe()
1845+
}
1846+
#endif
18001847
}
18011848

18021849
// MARK: SkipWhile
@@ -2232,6 +2279,24 @@ extension ObservableStandardSequenceOperatorsTest {
22322279
Subscription(200, 350)
22332280
])
22342281
}
2282+
2283+
#if TRACE_RESOURCES
2284+
func testSkipWhileReleasesResourcesOnComplete() {
2285+
_ = Observable<Int>.just(1).skipWhile { _ in true }.subscribe()
2286+
}
2287+
2288+
func testSkipWhileReleasesResourcesOnError() {
2289+
_ = Observable<Int>.error(testError).skipWhile { _ in true }.subscribe()
2290+
}
2291+
2292+
func testSkipWhileWithIndexReleasesResourcesOnComplete() {
2293+
_ = Observable<Int>.just(1).skipWhileWithIndex { _ in true }.subscribe()
2294+
}
2295+
2296+
func testSkipWhileWithIndexReleasesResourcesOnError() {
2297+
_ = Observable<Int>.error(testError).skipWhileWithIndex { _ in true }.subscribe()
2298+
}
2299+
#endif
22352300
}
22362301

22372302
// MARK: elementAt
@@ -2479,6 +2544,16 @@ extension ObservableStandardSequenceOperatorsTest {
24792544
Subscription(200, 210)
24802545
])
24812546
}
2547+
2548+
#if TRACE_RESOURCES
2549+
func testElementAtReleasesResourcesOnComplete() {
2550+
_ = Observable<Int>.just(1).elementAt(0).subscribe()
2551+
}
2552+
2553+
func testElementAtReleasesResourcesOnError() {
2554+
_ = Observable<Int>.error(testError).elementAt(1).subscribe()
2555+
}
2556+
#endif
24822557
}
24832558

24842559

@@ -2722,7 +2797,16 @@ extension ObservableStandardSequenceOperatorsTest {
27222797
})
27232798

27242799
}
2725-
2800+
2801+
#if TRACE_RESOURCES
2802+
func testSingleReleasesResourcesOnComplete() {
2803+
_ = Observable<Int>.just(1).single().subscribe()
2804+
}
2805+
2806+
func testSinleReleasesResourcesOnError() {
2807+
_ = Observable<Int>.error(testError).single().subscribe()
2808+
}
2809+
#endif
27262810
}
27272811

27282812
// groupBy
@@ -3821,7 +3905,20 @@ extension ObservableSingleTest {
38213905
XCTAssertEqual(xs.subscriptions, [
38223906
Subscription(200, 400)])
38233907
}
3824-
3908+
3909+
#if TRACE_RESOURCES
3910+
func testGroupByReleasesResourcesOnComplete() {
3911+
_ = Observable<Int>.just(1).groupBy { $0 }.subscribe()
3912+
}
3913+
3914+
func testGroupByReleasesResourcesOnError1() {
3915+
_ = Observable<Int>.error(testError).groupBy { $0 }.subscribe()
3916+
}
3917+
3918+
func testGroupByReleasesResourcesOnError2() {
3919+
_ = Observable<Int>.error(testError).groupBy { x -> Int in throw testError }.subscribe()
3920+
}
3921+
#endif
38253922
}
38263923

38273924
extension String {

0 commit comments

Comments
 (0)