Search in sources :

Example 21 with RecordingObserver

use of com.jakewharton.rxbinding4.RecordingObserver in project RxBinding by JakeWharton.

the class RxViewTest method touches.

@Test
@UiThreadTest
public void touches() {
    RecordingObserver<MotionEvent> o = new RecordingObserver<>();
    RxView.touches(view).subscribe(o);
    o.assertNoMoreEvents();
    view.dispatchTouchEvent(motionEventAtPosition(view, ACTION_DOWN, 0, 50));
    MotionEvent event1 = o.takeNext();
    assertEquals(ACTION_DOWN, event1.getAction());
    view.dispatchTouchEvent(motionEventAtPosition(view, ACTION_MOVE, 1, 50));
    MotionEvent event2 = o.takeNext();
    assertEquals(ACTION_MOVE, event2.getAction());
    o.dispose();
    view.dispatchTouchEvent(motionEventAtPosition(view, ACTION_UP, 1, 50));
    o.assertNoMoreEvents();
}
Also used : RecordingObserver(com.jakewharton.rxbinding4.RecordingObserver) MotionEvent(android.view.MotionEvent) Test(org.junit.Test) UiThreadTest(androidx.test.annotation.UiThreadTest) UiThreadTest(androidx.test.annotation.UiThreadTest)

Example 22 with RecordingObserver

use of com.jakewharton.rxbinding4.RecordingObserver in project RxBinding by JakeWharton.

the class RxActionMenuViewTest method itemClicks.

@Test
@UiThreadTest
public void itemClicks() {
    Menu menu = view.getMenu();
    MenuItem item1 = menu.add(0, 1, 0, "Hi");
    MenuItem item2 = menu.add(0, 2, 0, "Hey");
    RecordingObserver<MenuItem> o = new RecordingObserver<>();
    RxActionMenuView.itemClicks(view).subscribe(o);
    o.assertNoMoreEvents();
    menu.performIdentifierAction(2, 0);
    assertSame(item2, o.takeNext());
    menu.performIdentifierAction(1, 0);
    assertSame(item1, o.takeNext());
    o.dispose();
    menu.performIdentifierAction(2, 0);
    o.assertNoMoreEvents();
}
Also used : MenuItem(android.view.MenuItem) RecordingObserver(com.jakewharton.rxbinding2.RecordingObserver) Menu(android.view.Menu) Test(org.junit.Test) UiThreadTest(android.support.test.annotation.UiThreadTest) UiThreadTest(android.support.test.annotation.UiThreadTest)

Example 23 with RecordingObserver

use of com.jakewharton.rxbinding4.RecordingObserver in project RxBinding by JakeWharton.

the class RxPopupMenuTest method itemClicks.

@Test
@UiThreadTest
public void itemClicks() {
    Menu menu = view.getMenu();
    MenuItem item1 = menu.add(0, 1, 0, "Hi");
    MenuItem item2 = menu.add(0, 2, 0, "Hey");
    RecordingObserver<MenuItem> o = new RecordingObserver<>();
    RxPopupMenu.itemClicks(view).subscribe(o);
    o.assertNoMoreEvents();
    menu.performIdentifierAction(2, 0);
    assertSame(item2, o.takeNext());
    menu.performIdentifierAction(1, 0);
    assertSame(item1, o.takeNext());
    o.dispose();
    menu.performIdentifierAction(2, 0);
    o.assertNoMoreEvents();
}
Also used : MenuItem(android.view.MenuItem) RecordingObserver(com.jakewharton.rxbinding2.RecordingObserver) PopupMenu(android.support.v7.widget.PopupMenu) Menu(android.view.Menu) Test(org.junit.Test) UiThreadTest(android.support.test.annotation.UiThreadTest) UiThreadTest(android.support.test.annotation.UiThreadTest)

Example 24 with RecordingObserver

use of com.jakewharton.rxbinding4.RecordingObserver in project RxBinding by JakeWharton.

the class RxSlidingPaneLayoutTest method paneOpen.

@Test
public void paneOpen() {
    RecordingObserver<Boolean> o = new RecordingObserver<>();
    RxSlidingPaneLayout.panelOpens(view).subscribeOn(AndroidSchedulers.mainThread()).subscribe(o);
    assertFalse(o.takeNext());
    instrumentation.runOnMainSync(new Runnable() {

        @Override
        public void run() {
            view.openPane();
        }
    });
    assertTrue(o.takeNext());
    instrumentation.runOnMainSync(new Runnable() {

        @Override
        public void run() {
            view.closePane();
        }
    });
    assertFalse(o.takeNext());
    o.dispose();
    instrumentation.runOnMainSync(new Runnable() {

        @Override
        public void run() {
            view.openPane();
        }
    });
    o.assertNoMoreEvents();
}
Also used : UnsafeRunnable(com.jakewharton.rxbinding2.UnsafeRunnable) RecordingObserver(com.jakewharton.rxbinding2.RecordingObserver) Test(org.junit.Test)

Example 25 with RecordingObserver

use of com.jakewharton.rxbinding4.RecordingObserver in project RxBinding by JakeWharton.

the class RxSwipeDismissBehaviorTest method dismisses.

@Test
public void dismisses() {
    ((CoordinatorLayout.LayoutParams) view.getLayoutParams()).setBehavior(new SwipeDismissBehavior());
    RecordingObserver<View> o = new RecordingObserver<>();
    RxSwipeDismissBehavior.dismisses(view).subscribeOn(AndroidSchedulers.mainThread()).subscribe(o);
    // No initial value.
    o.assertNoMoreEvents();
    onView(withId(1)).perform(swipeRight());
    assertEquals(view, o.takeNext());
    o.dispose();
    onView(withId(1)).perform(swipeRight());
    o.assertNoMoreEvents();
}
Also used : SwipeDismissBehavior(android.support.design.widget.SwipeDismissBehavior) RecordingObserver(com.jakewharton.rxbinding2.RecordingObserver) Espresso.onView(android.support.test.espresso.Espresso.onView) View(android.view.View) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)41 RecordingObserver (com.jakewharton.rxbinding2.RecordingObserver)24 RecordingObserver (com.jakewharton.rxbinding4.RecordingObserver)17 UiThreadTest (android.support.test.annotation.UiThreadTest)15 UiThreadTest (androidx.test.annotation.UiThreadTest)15 Menu (android.view.Menu)10 MenuItem (android.view.MenuItem)10 UnsafeRunnable (com.jakewharton.rxbinding2.UnsafeRunnable)7 KeyEvent (android.view.KeyEvent)6 MotionEvent (android.view.MotionEvent)4 View (android.view.View)4 LinearLayout (android.widget.LinearLayout)4 TabLayout (android.support.design.widget.TabLayout)2 PopupMenu (android.widget.PopupMenu)2 TabLayout (com.google.android.material.tabs.TabLayout)2 Snackbar (android.support.design.widget.Snackbar)1 SwipeDismissBehavior (android.support.design.widget.SwipeDismissBehavior)1 Espresso.onView (android.support.test.espresso.Espresso.onView)1 PopupMenu (android.support.v7.widget.PopupMenu)1 PopupMenu (androidx.appcompat.widget.PopupMenu)1