1d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzpackage com.xtremelabs.robolectric.res; 2d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 3d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 4d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport static com.xtremelabs.robolectric.util.TestUtil.resourceFile; 5d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport static org.hamcrest.CoreMatchers.equalTo; 6d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport static org.junit.Assert.*; 7d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 8d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport org.junit.Test; 9d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport org.junit.runner.RunWith; 10d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 11d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport android.view.MenuItem; 12d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 13d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport com.xtremelabs.robolectric.R; 14d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport com.xtremelabs.robolectric.Robolectric; 15d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 16d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzimport com.xtremelabs.robolectric.tester.android.view.TestMenu; 17d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 18d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz@RunWith(WithTestDefaultsRunner.class) 19d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultzpublic class MenuResourceLoaderTest { 20d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 21d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz @Test 22d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz public void shouldInflateComplexMenu() throws Exception { 23d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz ResourceLoader resourceLoader = new ResourceLoader(10, R.class, resourceFile("res"), resourceFile("menu")); 24d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz TestMenu testMenu = new TestMenu(); 25d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz resourceLoader.inflateMenu(Robolectric.application, R.menu.test_withchilds, testMenu); 26d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz assertThat(testMenu.size(), equalTo(4)); 27d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz } 28d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz 29d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz @Test 30d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz public void shouldParseSubItemCorrectly() throws Exception { 31d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz ResourceLoader resourceLoader = new ResourceLoader(10, R.class, resourceFile("res"), resourceFile("menu")); 32d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz TestMenu testMenu = new TestMenu(); 33d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz resourceLoader.inflateMenu(Robolectric.application, R.menu.test_withchilds, testMenu); 34d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz MenuItem mi = testMenu.findItem(R.id.test_submenu_1); 35d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz assertTrue(mi.hasSubMenu()); 36d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz assertThat(mi.getSubMenu().size(), equalTo(2) ); 37d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz assertThat(mi.getSubMenu().getItem(1).getTitle() + "", equalTo("Test menu item 3") ); 38d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz } 39d6cd04adb85895b340ce9b6df33b749b22099c43Joe Moore and Tyler Schultz} 40