package com.xtremelabs.robolectric.res; import static com.xtremelabs.robolectric.util.TestUtil.resourceFile; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.*; import org.junit.Test; import org.junit.runner.RunWith; import android.view.MenuItem; import com.xtremelabs.robolectric.R; import com.xtremelabs.robolectric.Robolectric; import com.xtremelabs.robolectric.WithTestDefaultsRunner; import com.xtremelabs.robolectric.tester.android.view.TestMenu; @RunWith(WithTestDefaultsRunner.class) public class MenuResourceLoaderTest { @Test public void shouldInflateComplexMenu() throws Exception { ResourceLoader resourceLoader = new ResourceLoader(10, R.class, resourceFile("res"), resourceFile("menu")); TestMenu testMenu = new TestMenu(); resourceLoader.inflateMenu(Robolectric.application, R.menu.test_withchilds, testMenu); assertThat(testMenu.size(), equalTo(4)); } @Test public void shouldParseSubItemCorrectly() throws Exception { ResourceLoader resourceLoader = new ResourceLoader(10, R.class, resourceFile("res"), resourceFile("menu")); TestMenu testMenu = new TestMenu(); resourceLoader.inflateMenu(Robolectric.application, R.menu.test_withchilds, testMenu); MenuItem mi = testMenu.findItem(R.id.test_submenu_1); assertTrue(mi.hasSubMenu()); assertThat(mi.getSubMenu().size(), equalTo(2) ); assertThat(mi.getSubMenu().getItem(1).getTitle() + "", equalTo("Test menu item 3") ); } }