package com.xtremelabs.robolectric.tester.android.view; import static org.junit.Assert.assertNotNull; import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; import com.xtremelabs.robolectric.Robolectric; import com.xtremelabs.robolectric.WithTestDefaultsRunner; import com.xtremelabs.robolectric.shadows.ShadowActivity; import com.xtremelabs.robolectric.tester.android.view.TestMenuItem; import android.app.Activity; import android.content.Intent; @RunWith(WithTestDefaultsRunner.class) public class TestMenuTest { @Test public void addAndRemoveMenuItems() { TestMenu testMenu = new TestMenu(new MyActivity()); //TestMenuItem testMenuItem = new TestMenuItem(R.id.menu_about); testMenu.add(0, 10,0,0); TestMenuItem testMenuItem = (TestMenuItem) testMenu.findItem(10); Assert.assertEquals(10, testMenuItem.getItemId()); testMenu.removeItem(10); testMenuItem = (TestMenuItem) testMenu.findItem(10); Assert.assertNull(testMenuItem); } @Test public void clickWithIntent() { MyActivity activity = new MyActivity(); TestMenu testMenu = new TestMenu(activity); testMenu.add(0, 10,0,0); TestMenuItem testMenuItem = (TestMenuItem) testMenu.findItem(10); Assert.assertNull(testMenuItem.getIntent()); Intent intent = new Intent(activity, MyActivity.class); testMenuItem.setIntent(intent); testMenuItem.click(); Assert.assertNotNull(testMenuItem); ShadowActivity shadowActivity = Robolectric.shadowOf(activity); Intent startedIntent = shadowActivity.getNextStartedActivity(); assertNotNull(startedIntent); } private static class MyActivity extends Activity { @Override protected void onDestroy() { super.onDestroy(); } } }