Make backgroundColor binder optional and add tests

This commit is contained in:
freak4pc 2019-03-09 19:49:03 +02:00 committed by Krunoslav Zaher
parent eb539413df
commit ce8e3b2bd0
2 changed files with 42 additions and 13 deletions

View File

@ -27,7 +27,7 @@ extension Reactive where Base: UIView {
}
/// Bindable sink for `backgroundColor` property.
public var backgroundColor: Binder<UIColor> {
public var backgroundColor: Binder<UIColor?> {
return Binder(self.base) { view, color in
view.backgroundColor = color
}

View File

@ -16,48 +16,77 @@ final class UIViewTests : RxTest {
extension UIViewTests {
func testHidden_True() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(true).subscribe(subject.rx.isHidden).dispose()
XCTAssertTrue(subject.isHidden == true)
XCTAssertEqual(subject.isHidden, true)
}
func testEnabled_False() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(false).subscribe(subject.rx.isHidden).dispose()
XCTAssertTrue(subject.isHidden == false)
XCTAssertEqual(subject.isHidden, false)
}
}
extension UIViewTests {
func testAlpha_0() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(0).subscribe(subject.rx.alpha).dispose()
XCTAssertTrue(subject.alpha == 0.0)
XCTAssertEqual(subject.alpha, 0.0)
}
func testAlpha_1() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(1).subscribe(subject.rx.alpha).dispose()
XCTAssertTrue(subject.alpha == 1.0)
XCTAssertEqual(subject.alpha, 1.0)
}
}
extension UIViewTests {
func testBackgroundColor() {
let subject = UIView(frame: .zero)
let color: UIColor = .red
Observable.just(color).subscribe(subject.rx.backgroundColor).dispose()
XCTAssertEqual(subject.backgroundColor, color)
}
func testBackgroundColor_optionalSome() {
let subject = UIView(frame: .zero)
let color: UIColor? = .red
Observable.just(color).subscribe(subject.rx.backgroundColor).dispose()
XCTAssertEqual(subject.backgroundColor, color)
}
func testBackgroundColor_optionalNil() {
let subject = UIView(frame: .zero)
let color: UIColor? = nil
Observable.just(color).subscribe(subject.rx.backgroundColor).dispose()
XCTAssertEqual(subject.backgroundColor, color)
}
}
extension UIViewTests {
func testUserInteractionEnabled_True() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(true).subscribe(subject.rx.isUserInteractionEnabled).dispose()
XCTAssertTrue(subject.isUserInteractionEnabled == true)
XCTAssertEqual(subject.isUserInteractionEnabled, true)
}
func testUserInteractionEnabled_False() {
let subject = UIView(frame: CGRect.zero)
let subject = UIView(frame: .zero)
Observable.just(false).subscribe(subject.rx.isUserInteractionEnabled).dispose()
XCTAssertTrue(subject.isUserInteractionEnabled == false)
XCTAssertEqual(subject.isUserInteractionEnabled, false)
}
}