Added unit tests for rx_itemAccessoryButtonTapped
Added test to validate observable produces the correct NSIndexPath when delegate method called
This commit is contained in:
parent
87b36ffb0d
commit
825d09a04b
|
|
@ -278,6 +278,7 @@ extension ControlTests {
|
|||
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_itemSelected }
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_itemDeselected }
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_itemAccessoryButtonTapped }
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_modelSelected(Int.self) }
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_itemDeleted }
|
||||
ensureEventDeallocated(createView) { (view: UITableView) in view.rx_itemMoved }
|
||||
|
|
@ -332,6 +333,35 @@ extension ControlTests {
|
|||
|
||||
func testTableView_ModelSelected_rx_itemsWithCellFactory() {
|
||||
let items: Observable<[Int]> = Observable.just([1, 2, 3])
|
||||
|
||||
let createView: () -> (UITableView, Disposable) = {
|
||||
let tableView = UITableView(frame: CGRectMake(0, 0, 1, 1))
|
||||
let dataSourceSubscription = items.bindTo(tableView.rx_itemsWithCellFactory) { (tv, index: Int, item: Int) -> UITableViewCell in
|
||||
return UITableViewCell(style: .Default, reuseIdentifier: "Identity")
|
||||
}
|
||||
|
||||
return (tableView, dataSourceSubscription)
|
||||
}
|
||||
|
||||
let (tableView, dataSourceSubscription) = createView()
|
||||
|
||||
var selectedItem: Int? = nil
|
||||
|
||||
let s = tableView.rx_modelSelected(Int.self)
|
||||
.subscribeNext { item in
|
||||
selectedItem = item
|
||||
}
|
||||
|
||||
tableView.delegate!.tableView!(tableView, didSelectRowAtIndexPath: NSIndexPath(forRow: 1, inSection: 0))
|
||||
|
||||
XCTAssertEqual(selectedItem, 2)
|
||||
|
||||
dataSourceSubscription.dispose()
|
||||
s.dispose()
|
||||
}
|
||||
|
||||
func testTableView_IndexPath_rx_itemAccessoryButtonTapped() {
|
||||
let items: Observable<[Int]> = Observable.just([1, 2, 3])
|
||||
|
||||
let createView: () -> (UITableView, Disposable) = {
|
||||
let tableView = UITableView(frame: CGRectMake(0, 0, 1, 1))
|
||||
|
|
@ -344,16 +374,17 @@ extension ControlTests {
|
|||
|
||||
let (tableView, dataSourceSubscription) = createView()
|
||||
|
||||
var selectedItem: Int? = nil
|
||||
var selectedItem: NSIndexPath? = nil
|
||||
|
||||
let s = tableView.rx_modelSelected(Int.self)
|
||||
let s = tableView.rx_itemAccessoryButtonTapped
|
||||
.subscribeNext { item in
|
||||
selectedItem = item
|
||||
}
|
||||
|
||||
tableView.delegate!.tableView!(tableView, didSelectRowAtIndexPath: NSIndexPath(forRow: 1, inSection: 0))
|
||||
let testRow = NSIndexPath(forRow: 1, inSection: 0)
|
||||
tableView.delegate!.tableView!(tableView, accessoryButtonTappedForRowWithIndexPath: NSIndexPath(forRow: 1, inSection: 0))
|
||||
|
||||
XCTAssertEqual(selectedItem, 2)
|
||||
XCTAssertEqual(selectedItem, testRow)
|
||||
|
||||
dataSourceSubscription.dispose()
|
||||
s.dispose()
|
||||
|
|
|
|||
Loading…
Reference in New Issue