1package com.xtremelabs.robolectric.tester.android.view; 2 3import static org.junit.Assert.assertNotNull; 4import junit.framework.Assert; 5 6import org.junit.Test; 7import org.junit.runner.RunWith; 8 9import com.xtremelabs.robolectric.Robolectric; 10import com.xtremelabs.robolectric.WithTestDefaultsRunner; 11import com.xtremelabs.robolectric.shadows.ShadowActivity; 12import com.xtremelabs.robolectric.tester.android.view.TestMenuItem; 13 14import android.app.Activity; 15import android.content.Intent; 16 17 18@RunWith(WithTestDefaultsRunner.class) 19public class TestMenuTest { 20 21 @Test 22 public void addAndRemoveMenuItems() { 23 TestMenu testMenu = new TestMenu(new MyActivity()); 24 //TestMenuItem testMenuItem = new TestMenuItem(R.id.menu_about); 25 testMenu.add(0, 10,0,0); 26 27 TestMenuItem testMenuItem = (TestMenuItem) testMenu.findItem(10); 28 29 Assert.assertEquals(10, testMenuItem.getItemId()); 30 31 testMenu.removeItem(10); 32 33 testMenuItem = (TestMenuItem) testMenu.findItem(10); 34 Assert.assertNull(testMenuItem); 35 36 } 37 38 @Test 39 public void clickWithIntent() { 40 MyActivity activity = new MyActivity(); 41 42 TestMenu testMenu = new TestMenu(activity); 43 testMenu.add(0, 10,0,0); 44 45 TestMenuItem testMenuItem = (TestMenuItem) testMenu.findItem(10); 46 Assert.assertNull(testMenuItem.getIntent()); 47 48 Intent intent = new Intent(activity, MyActivity.class); 49 testMenuItem.setIntent(intent); 50 testMenuItem.click(); 51 52 Assert.assertNotNull(testMenuItem); 53 54 ShadowActivity shadowActivity = Robolectric.shadowOf(activity); 55 Intent startedIntent = shadowActivity.getNextStartedActivity(); 56 assertNotNull(startedIntent); 57 } 58 59 private static class MyActivity extends Activity { 60 @Override protected void onDestroy() { 61 super.onDestroy(); 62 } 63 } 64 65} 66