diff options
Diffstat (limited to 'v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java')
-rw-r--r-- | v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java b/v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java new file mode 100644 index 000000000..2a702035d --- /dev/null +++ b/v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java @@ -0,0 +1,194 @@ +package com.xtremelabs.robolectric.res; + + +import static com.xtremelabs.robolectric.util.TestUtil.getSystemResourceDir; +import static com.xtremelabs.robolectric.util.TestUtil.resourceFile; + +import java.util.ArrayList; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import android.content.ComponentName; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuItem; +import android.view.SubMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.MenuItem.OnMenuItemClickListener; + +import com.xtremelabs.robolectric.R; +import com.xtremelabs.robolectric.Robolectric; +import com.xtremelabs.robolectric.WithTestDefaultsRunner; +import com.xtremelabs.robolectric.tester.android.view.TestMenuItem; +import com.xtremelabs.robolectric.util.I18nException; + +@RunWith(WithTestDefaultsRunner.class) +public class MenuLoaderTest { + + private MenuLoader menuLoader; + + @Before + public void setUp() throws Exception { + ResourceExtractor resourceExtractor = new ResourceExtractor(); + resourceExtractor.addLocalRClass(R.class); + resourceExtractor.addSystemRClass(android.R.class); + + StringResourceLoader stringResourceLoader = new StringResourceLoader(resourceExtractor); + new DocumentLoader(stringResourceLoader).loadResourceXmlDir(resourceFile("res", "values")); + new DocumentLoader(stringResourceLoader).loadSystemResourceXmlDir(getSystemResourceDir("values")); + + menuLoader = new MenuLoader(resourceExtractor, new AttrResourceLoader(resourceExtractor)); + new DocumentLoader(menuLoader).loadResourceXmlDir(resourceFile("res", "menu")); + } + + @After + public void tearDown() throws Exception { + } + + @Test(expected=I18nException.class) + public void shouldThrowI18nExceptionOnMenuWithBareStrings() throws Exception { + Menu testMenu = new TestMenu(); + menuLoader.setStrictI18n(true); + menuLoader.inflateMenu(Robolectric.application, R.menu.test, testMenu); + } + + public class TestMenu implements Menu { + @Override + public MenuItem add(CharSequence title) { + return null; + } + + @Override + public MenuItem add(int titleRes) { + return null; + } + + @Override + public MenuItem add(int groupId, int itemId, int order, + CharSequence title) { + return null; + } + + @Override + public MenuItem add(int groupId, int itemId, int order, int titleRes) { + return null; + } + + @Override + public SubMenu addSubMenu(CharSequence title) { + return null; + } + + @Override + public SubMenu addSubMenu(int titleRes) { + return null; + } + + @Override + public SubMenu addSubMenu(int groupId, int itemId, int order, + CharSequence title) { + return null; + } + + @Override + public SubMenu addSubMenu(int groupId, int itemId, int order, + int titleRes) { + return null; + } + + @Override + public int addIntentOptions(int groupId, int itemId, int order, + ComponentName caller, Intent[] specifics, Intent intent, + int flags, MenuItem[] outSpecificItems) { + return 0; + } + + @Override + public void removeItem(int id) { + + } + + @Override + public void removeGroup(int groupId) { + + } + + @Override + public void clear() { + + } + + @Override + public void setGroupCheckable(int group, boolean checkable, + boolean exclusive) { + + } + + @Override + public void setGroupVisible(int group, boolean visible) { + + } + + @Override + public void setGroupEnabled(int group, boolean enabled) { + + } + + @Override + public boolean hasVisibleItems() { + return false; + } + + @Override + public MenuItem findItem(int id) { + return null; + } + + @Override + public int size() { + + return 0; + } + + @Override + public MenuItem getItem(int index) { + + return null; + } + + @Override + public void close() { + + + } + + @Override + public boolean performShortcut(int keyCode, KeyEvent event, int flags) { + + return false; + } + + @Override + public boolean isShortcutKey(int keyCode, KeyEvent event) { + + return false; + } + + @Override + public boolean performIdentifierAction(int id, int flags) { + + return false; + } + + @Override + public void setQwertyMode(boolean isQwerty) { + + + } + } +} |