diff options
author | Christian Williams & Dimitris Couchell <github+xian+dimitris@squareup.com> | 2012-11-16 13:26:26 -0800 |
---|---|---|
committer | Christian Williams & Dimitris Couchell <github+xian+dimitris@squareup.com> | 2012-11-16 13:26:26 -0800 |
commit | 9e11c64f01e0d72a3f469d5866b695c778387c26 (patch) | |
tree | 55ac8eab369bbdc4c044ed094e807d7872ab1677 /src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java | |
parent | 75038b993ec0db85953f392a0c129648212d9ad6 (diff) | |
parent | 809d8cbbad66c0e51847c681f0e04526929f99b8 (diff) | |
download | robolectric-shadows-9e11c64f01e0d72a3f469d5866b695c778387c26.tar.gz |
Merge remote-tracking branch 'square/master' into robolectric-2-master
* square/master: (152 commits)
Reverted pom to r2 since our build server can't handle r3
Implement ShadowBitmapDrawable.mutate()
Attempt to be DRY about SDK. Ha.
And update the manifest to API 16.
Update resource loading to use API 16.
'snapshots' -> 'url'
Update to a Maps dependnecy from this decade.
Allow for specifying a custom nexus URL via profile.
Allow system features to be toggled. Fix Fragment resume state tracking.
Return drawables when setting CompoundDrawables with resourceIds
Include text values in TextView dump. Implement TextUtils.htmlEncode.
Implement CheckedTestView toggling etc.
Call View#onAttachedToWindow, View#onDetachedFromWindow, Fragment#onAttach, and Fragment#onDetach as appropriate.
Add Robolectric.dump() and Robolectric.innerText() convenience methods. Include visibility attribute in view dump.
Implement TypedArray#getTextArray.
Provide a way to inject a Resources object on resources-related shadows (implement UsesResources).
Support enabling bluetooth
Add getOnFocusChangeListener to View
When popping a fragment from the back stack, restore the previoius fragment.
Implement Bundle.set/get*Array.
...
Conflicts:
.gitignore
.pairs
README.md
build.xml
find-android.bat
lib/main/junit-dep-4.8.2.jar
pom.xml
src/main/java/android/os/TestVibrator.java
src/main/java/android/webkit/TestWebSettings.java
src/main/java/com/xtremelabs/robolectric/Robolectric.java
src/main/java/com/xtremelabs/robolectric/RobolectricConfig.java
src/main/java/com/xtremelabs/robolectric/RobolectricTestRunner.java
src/main/java/com/xtremelabs/robolectric/res/ColorResourceLoader.java
src/main/java/com/xtremelabs/robolectric/res/DrawableResourceLoader.java
src/main/java/com/xtremelabs/robolectric/res/IntegerResourceLoader.java
src/main/java/com/xtremelabs/robolectric/res/ResourceLoader.java
src/main/java/com/xtremelabs/robolectric/res/RobolectricPackageManager.java
src/main/java/com/xtremelabs/robolectric/res/ViewLoader.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowActivity.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowAlertDialog.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowApplication.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowBitmapDrawable.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowBitmapFactory.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowBluetoothAdapter.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowBundle.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowCanvas.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowCheckedTextView.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowContentResolver.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowContextWrapper.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowDialog.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowDialogFragment.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowEditText.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowFragment.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowFragmentActivity.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowFrameLayout.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowHtml.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowImageView.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowLinearLayout.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowListActivity.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowLocation.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowLocationManager.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowRect.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowResources.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowSQLiteCloseable.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowSensorManager.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowSettings.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextUtils.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowTextView.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowTypedArray.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowViewAnimator.java
src/main/java/com/xtremelabs/robolectric/shadows/ShadowViewGroup.java
src/main/java/com/xtremelabs/robolectric/tester/android/util/TestAttributeSet.java
src/main/java/com/xtremelabs/robolectric/tester/android/view/TestMenuItem.java
src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java
src/test/java/android/webkit/TestWebSettingsTest.java
src/test/java/com/xtremelabs/robolectric/R.java
src/test/java/com/xtremelabs/robolectric/RobolectricConfigTest.java
src/test/java/com/xtremelabs/robolectric/res/DrawableResourceLoaderTest.java
src/test/java/com/xtremelabs/robolectric/res/IntegerResourceLoaderTest.java
src/test/java/com/xtremelabs/robolectric/res/MenuResourceLoaderTest.java
src/test/java/com/xtremelabs/robolectric/res/RawResourceLoaderTest.java
src/test/java/com/xtremelabs/robolectric/res/ResourceLoaderTest.java
src/test/java/com/xtremelabs/robolectric/res/TestAttributeSetTest.java
src/test/java/com/xtremelabs/robolectric/res/ViewLoaderTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ActivityTest.java
src/test/java/com/xtremelabs/robolectric/shadows/BitmapFactoryTest.java
src/test/java/com/xtremelabs/robolectric/shadows/BluetoothAdapterTest.java
src/test/java/com/xtremelabs/robolectric/shadows/CheckedTextViewTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ContextTest.java
src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java
src/test/java/com/xtremelabs/robolectric/shadows/DialogFragmentTest.java
src/test/java/com/xtremelabs/robolectric/shadows/DialogTest.java
src/test/java/com/xtremelabs/robolectric/shadows/EditTextTest.java
src/test/java/com/xtremelabs/robolectric/shadows/FragmentTest.java
src/test/java/com/xtremelabs/robolectric/shadows/FrameLayoutTest.java
src/test/java/com/xtremelabs/robolectric/shadows/HtmlTest.java
src/test/java/com/xtremelabs/robolectric/shadows/LocationTest.java
src/test/java/com/xtremelabs/robolectric/shadows/PreferenceActivityTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ResourcesTest.java
src/test/java/com/xtremelabs/robolectric/shadows/SettingsTest.java
src/test/java/com/xtremelabs/robolectric/shadows/SpannableStringBuilderTest.java
src/test/java/com/xtremelabs/robolectric/shadows/TextUtilsTest.java
src/test/java/com/xtremelabs/robolectric/shadows/TextViewTest.java
src/test/java/com/xtremelabs/robolectric/shadows/TypedArrayTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ViewAnimatorTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ViewGroupTest.java
src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
src/test/java/com/xtremelabs/robolectric/shadows/testing/OnMethodTestActivity.java
src/test/java/com/xtremelabs/robolectric/tester/android/view/TestWindowTest.java
src/test/java/com/xtremelabs/robolectric/util/TestUtil.java
Diffstat (limited to 'src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java')
-rw-r--r-- | src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java new file mode 100644 index 000000000..ca71ecf61 --- /dev/null +++ b/src/main/java/com/xtremelabs/robolectric/util/ReflectionUtil.java @@ -0,0 +1,20 @@ +package com.xtremelabs.robolectric.util; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +public class ReflectionUtil { + public static Object invoke(Object object, String methodName, Class<?>[] argTypes, Object... args) { + try { + Method onLayout = object.getClass().getDeclaredMethod(methodName, argTypes); + onLayout.setAccessible(true); + return onLayout.invoke(object, args); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + } +} |