Search in sources :

Example 1 with RoboMenu

use of org.robolectric.fakes.RoboMenu in project android_packages_apps_Settings by SudaMod.

the class BluetoothDeviceDetailsFragmentTest method renameControlClicked.

@Test
public void renameControlClicked() {
    RoboMenu menu = new RoboMenu(mContext);
    MenuInflater inflater = new MenuInflater(mContext);
    mFragment.onCreateOptionsMenu(menu, inflater);
    MenuItem item = menu.getItem(0);
    assertThat(item.getItemId()).isEqualTo(BluetoothDeviceDetailsFragment.EDIT_DEVICE_NAME_ITEM_ID);
    FragmentManager fragmentManager = mock(FragmentManager.class);
    when(mFragment.getFragmentManager()).thenReturn(fragmentManager);
    FragmentTransaction ft = mock(FragmentTransaction.class);
    when(fragmentManager.beginTransaction()).thenReturn(ft);
    ArgumentCaptor<Fragment> captor = ArgumentCaptor.forClass(Fragment.class);
    mFragment.onOptionsItemSelected(item);
    verify(ft).add(captor.capture(), eq(RemoteDeviceNameDialogFragment.TAG));
    RemoteDeviceNameDialogFragment dialog = (RemoteDeviceNameDialogFragment) captor.getValue();
    assertThat(dialog).isNotNull();
}
Also used : FragmentManager(android.app.FragmentManager) FragmentTransaction(android.app.FragmentTransaction) MenuInflater(android.view.MenuInflater) RoboMenu(org.robolectric.fakes.RoboMenu) MenuItem(android.view.MenuItem) Fragment(android.app.Fragment) Test(org.junit.Test)

Example 2 with RoboMenu

use of org.robolectric.fakes.RoboMenu in project android_packages_apps_Settings by omnirom.

the class BluetoothDeviceDetailsFragmentTest method renameControlGetsAdded.

@Test
public void renameControlGetsAdded() {
    RoboMenu menu = new RoboMenu(mContext);
    MenuInflater inflater = new MenuInflater(mContext);
    mFragment.onCreateOptionsMenu(menu, inflater);
    MenuItem item = menu.getItem(0);
    assertThat(item.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_rename_button));
    assertThat(item.getIcon()).isEqualTo(mContext.getDrawable(R.drawable.ic_mode_edit));
}
Also used : MenuInflater(android.view.MenuInflater) RoboMenu(org.robolectric.fakes.RoboMenu) MenuItem(android.view.MenuItem) Test(org.junit.Test)

Example 3 with RoboMenu

use of org.robolectric.fakes.RoboMenu in project Resurrection_packages_apps_Settings by ResurrectionRemix.

the class BluetoothDeviceDetailsFragmentTest method setUp.

@Before
public void setUp() {
    MockitoAnnotations.initMocks(this);
    mContext = spy(RuntimeEnvironment.application);
    FakeFeatureFactory.setupForTest();
    mFragment = spy(BluetoothDeviceDetailsFragment.newInstance(TEST_ADDRESS));
    doReturn(mLocalManager).when(mFragment).getLocalBluetoothManager(any());
    doReturn(mCachedDevice).when(mFragment).getCachedDevice(any());
    doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
    FragmentManager fragmentManager = mock(FragmentManager.class);
    when(mFragment.getFragmentManager()).thenReturn(fragmentManager);
    mFragmentTransaction = mock(FragmentTransaction.class);
    when(fragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
    when(mCachedDevice.getAddress()).thenReturn(TEST_ADDRESS);
    Bundle args = new Bundle();
    args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS, TEST_ADDRESS);
    mFragment.setArguments(args);
    mFragment.onAttach(mContext);
    mMenu = new RoboMenu(mContext);
    mInflater = new MenuInflater(mContext);
}
Also used : FragmentManager(androidx.fragment.app.FragmentManager) FragmentTransaction(androidx.fragment.app.FragmentTransaction) MenuInflater(android.view.MenuInflater) Bundle(android.os.Bundle) RoboMenu(org.robolectric.fakes.RoboMenu) Before(org.junit.Before)

Example 4 with RoboMenu

use of org.robolectric.fakes.RoboMenu in project collect by opendatakit.

the class FormEntryMenuDelegateTest method onItemSelected_whenAddRepeat_whenRecording_showsWarning.

@Test
public void onItemSelected_whenAddRepeat_whenRecording_showsWarning() {
    RoboMenu menu = new RoboMenu();
    formEntryMenuDelegate.onCreateOptionsMenu(Robolectric.setupActivity(FragmentActivity.class).getMenuInflater(), menu);
    formEntryMenuDelegate.onPrepareOptionsMenu(menu);
    when(audioRecorder.isRecording()).thenReturn(true);
    formEntryMenuDelegate.onOptionsItemSelected(new RoboMenuItem(R.id.menu_add_repeat));
    verify(formEntryViewModel, never()).promptForNewRepeat();
    RecordingWarningDialogFragment dialog = getFragmentByClass(activity.getSupportFragmentManager(), RecordingWarningDialogFragment.class);
    assertThat(dialog, is(notNullValue()));
    assertThat(dialog.getDialog().isShowing(), is(true));
}
Also used : RoboMenu(org.robolectric.fakes.RoboMenu) RoboMenuItem(org.robolectric.fakes.RoboMenuItem) Test(org.junit.Test)

Example 5 with RoboMenu

use of org.robolectric.fakes.RoboMenu in project collect by opendatakit.

the class FormEntryMenuDelegateTest method onPrepare_notInRepeatQuestion_hidesAddRepeat.

@Test
public void onPrepare_notInRepeatQuestion_hidesAddRepeat() {
    when(formEntryViewModel.canAddRepeat()).thenReturn(false);
    RoboMenu menu = new RoboMenu();
    formEntryMenuDelegate.onCreateOptionsMenu(Robolectric.setupActivity(FragmentActivity.class).getMenuInflater(), menu);
    formEntryMenuDelegate.onPrepareOptionsMenu(menu);
    assertThat(menu.findItem(R.id.menu_add_repeat).isVisible(), equalTo(false));
}
Also used : RoboMenu(org.robolectric.fakes.RoboMenu) Test(org.junit.Test)

Aggregations

RoboMenu (org.robolectric.fakes.RoboMenu)32 Test (org.junit.Test)31 MenuInflater (android.view.MenuInflater)13 MenuItem (android.view.MenuItem)12 RoboMenuItem (org.robolectric.fakes.RoboMenuItem)12 Fragment (android.app.Fragment)6 FragmentManager (android.app.FragmentManager)6 FragmentTransaction (android.app.FragmentTransaction)6 HashMap (java.util.HashMap)2 ShadowActivity (org.robolectric.shadows.ShadowActivity)2 Bundle (android.os.Bundle)1 FragmentManager (androidx.fragment.app.FragmentManager)1 FragmentTransaction (androidx.fragment.app.FragmentTransaction)1 Before (org.junit.Before)1