aboutsummaryrefslogtreecommitdiff
path: root/v1/src/test/java/com/xtremelabs/robolectric/res/MenuLoaderTest.java
diff options
context:
space:
mode:
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.java194
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) {
+
+
+ }
+ }
+}