Compare commits
1 Commits
master
...
rxswift-2.
| Author | SHA1 | Date |
|---|---|---|
|
|
ac156405b5 |
|
|
@ -64,6 +64,46 @@ extension UITextView : RxTextInput {
|
|||
return ControlProperty(values: source, valueSink: bindingObserver)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
public var rx_didBeginEditing: ControlEvent<()> {
|
||||
return ControlEvent<()>(events: self.rx_delegate.observe(#selector(UITextViewDelegate.textViewDidBeginEditing(_:)))
|
||||
.map { a in
|
||||
return ()
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
public var rx_didEndEditing: ControlEvent<()> {
|
||||
return ControlEvent<()>(events: self.rx_delegate.observe(#selector(UITextViewDelegate.textViewDidEndEditing(_:)))
|
||||
.map { a in
|
||||
return ()
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
public var rx_didChange: ControlEvent<()> {
|
||||
return ControlEvent<()>(events: self.rx_delegate.observe(#selector(UITextViewDelegate.textViewDidChange(_:)))
|
||||
.map { a in
|
||||
return ()
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
public var rx_didChangeSelection: ControlEvent<()> {
|
||||
return ControlEvent<()>(events: self.rx_delegate.observe(#selector(UITextViewDelegate.textViewDidChangeSelection(_:)))
|
||||
.map { a in
|
||||
return ()
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -28,6 +28,86 @@ class UITextViewTests : RxTest {
|
|||
textView.rx_text.on(.Next("Text2"))
|
||||
XCTAssertTrue(textView.set)
|
||||
}
|
||||
|
||||
func testDidBeginEditing() {
|
||||
var completed = false
|
||||
var value: ()?
|
||||
|
||||
autoreleasepool {
|
||||
let textView = UITextView(frame: CGRectMake(0, 0, 1, 1))
|
||||
|
||||
_ = textView.rx_didBeginEditing.subscribe(onNext: { n in
|
||||
value = n
|
||||
}, onCompleted: {
|
||||
completed = true
|
||||
})
|
||||
|
||||
textView.delegate!.textViewDidBeginEditing!(textView)
|
||||
}
|
||||
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertTrue(completed)
|
||||
}
|
||||
|
||||
func testDidEndEditing() {
|
||||
var completed = false
|
||||
var value: ()?
|
||||
|
||||
autoreleasepool {
|
||||
let textView = UITextView(frame: CGRectMake(0, 0, 1, 1))
|
||||
|
||||
_ = textView.rx_didEndEditing.subscribe(onNext: { n in
|
||||
value = n
|
||||
}, onCompleted: {
|
||||
completed = true
|
||||
})
|
||||
|
||||
textView.delegate!.textViewDidEndEditing!(textView)
|
||||
}
|
||||
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertTrue(completed)
|
||||
}
|
||||
|
||||
func testDidChange() {
|
||||
var completed = false
|
||||
var value: ()?
|
||||
|
||||
autoreleasepool {
|
||||
let textView = UITextView(frame: CGRectMake(0, 0, 1, 1))
|
||||
|
||||
_ = textView.rx_didChange.subscribe(onNext: { n in
|
||||
value = n
|
||||
}, onCompleted: {
|
||||
completed = true
|
||||
})
|
||||
|
||||
textView.delegate!.textViewDidChange!(textView)
|
||||
}
|
||||
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertTrue(completed)
|
||||
}
|
||||
|
||||
func testDidChangeSelection() {
|
||||
var completed = false
|
||||
var value: ()?
|
||||
|
||||
autoreleasepool {
|
||||
let textView = UITextView(frame: CGRectMake(0, 0, 1, 1))
|
||||
|
||||
_ = textView.rx_didChangeSelection.subscribe(onNext: { n in
|
||||
value = n
|
||||
}, onCompleted: {
|
||||
completed = true
|
||||
})
|
||||
|
||||
textView.delegate!.textViewDidChangeSelection!(textView)
|
||||
}
|
||||
|
||||
XCTAssertNotNil(value)
|
||||
XCTAssertTrue(completed)
|
||||
}
|
||||
}
|
||||
|
||||
class UITextViewSubclass2 : UITextView {
|
||||
|
|
|
|||
Loading…
Reference in New Issue