RxSwift/Tests/RxCocoaTests/UIScrollView+RxTests.swift

66 lines
1.5 KiB
Swift

//
// UIScrollView+RxTests.swift
// Rx
//
// Created by Suyeol Jeon on 6/8/16.
// Copyright © 2016 Krunoslav Zaher. All rights reserved.
//
#if os(iOS)
import Foundation
import RxSwift
import RxCocoa
import UIKit
import XCTest
class UIScrollViewTests : RxTest {
}
extension UIScrollViewTests {
func testScrollEnabled_False() {
let scrollView = UIScrollView(frame: CGRect.zero)
scrollView.isScrollEnabled = true
Observable.just(false).bindTo(scrollView.rx_scrollEnabled).dispose()
XCTAssertTrue(scrollView.isScrollEnabled == false)
}
func testScrollEnabled_True() {
let scrollView = UIScrollView(frame: CGRect.zero)
scrollView.isScrollEnabled = false
Observable.just(true).bindTo(scrollView.rx_scrollEnabled).dispose()
XCTAssertTrue(scrollView.isScrollEnabled == true)
}
}
@objc class MockScrollViewDelegate
: NSObject
, UIScrollViewDelegate {
}
extension UIScrollViewTests {
func testSetDelegateUsesWeakReference() {
var delegateDeallocated = false
let scrollView = UIScrollView(frame: CGRect.zero)
autoreleasepool {
let delegate = MockScrollViewDelegate()
_ = scrollView.rx_setDelegate(delegate)
_ = delegate.rx_deallocated.subscribe(onNext: { _ in
delegateDeallocated = true
})
XCTAssert(delegateDeallocated == false)
}
XCTAssert(delegateDeallocated == true)
}
}
#endif