diff options
author | Wu-cheng Li <wuchengli@google.com> | 2012-01-18 11:08:16 +0800 |
---|---|---|
committer | Wu-cheng Li <wuchengli@google.com> | 2012-01-19 17:04:17 +0800 |
commit | 32108707f57e12a5ccb1ab023e83abf8e0086330 (patch) | |
tree | b9e1fb8ee643f7ebdbd27a343e6b726f6d885184 /tests | |
parent | c37a61cb34d5537cbfada6bfaf654081924093c1 (diff) | |
download | Camera-32108707f57e12a5ccb1ab023e83abf8e0086330.tar.gz |
Add test for restore default.
bug:5888633
Change-Id: Ib3db9b86d0da04d5aa4e5aae13eb2c466ba75aa8
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/android/camera/activity/CameraActivityTest.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/src/com/android/camera/activity/CameraActivityTest.java b/tests/src/com/android/camera/activity/CameraActivityTest.java index 95ef6376..e5253f63 100644 --- a/tests/src/com/android/camera/activity/CameraActivityTest.java +++ b/tests/src/com/android/camera/activity/CameraActivityTest.java @@ -20,11 +20,15 @@ import com.android.camera.Camera; import com.android.camera.CameraDevice; import com.android.camera.CameraHolder; import com.android.camera.IntentExtras; +import com.android.camera.MockCamera; +import com.android.camera.R; import android.app.Instrumentation; import android.hardware.Camera.CameraInfo; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; +import android.view.MotionEvent; +import android.view.View; public class CameraActivityTest extends ActivityInstrumentationTestCase2 <Camera> { private static final String TAG = "CameraActivityTest"; @@ -46,6 +50,7 @@ public class CameraActivityTest extends ActivityInstrumentationTestCase2 <Camera @Override protected void tearDown() throws Exception { + super.tearDown(); CameraHolder.injectMockCamera(null, null); } @@ -57,4 +62,40 @@ public class CameraActivityTest extends ActivityInstrumentationTestCase2 <Camera Instrumentation inst = getInstrumentation(); inst.waitForIdleSync(); } + + @LargeTest + public void testRestoreDefault() throws Exception { + MockCamera[] cameras = new MockCamera[2]; + cameras[0] = new MockCamera(); + cameras[1] = new MockCamera(); + CameraHolder.injectMockCamera(mCameraInfo, cameras); + + getActivity(); + getInstrumentation().waitForIdleSync(); + performClick(R.id.second_level_indicator); + performClick(R.id.other_setting_indicator); + performClick(R.id.restore_default); + performClick(R.id.rotate_dialog_button1); + } + + private void performClick(final int id) { + assertNotNull(getActivity().findViewById(id)); + Instrumentation inst = getInstrumentation(); + inst.runOnMainSync(new Runnable() { + @Override + public void run() { + View v = getActivity().findViewById(id); + float x = (v.getLeft() + v.getRight()) / 2; + float y = (v.getTop() + v.getBottom()) / 2; + MotionEvent down = MotionEvent.obtain(0, 0, + MotionEvent.ACTION_DOWN, x, y, 0, 0, 0, 0, 0, 0, 0); + MotionEvent up = MotionEvent.obtain(0, 0, + MotionEvent.ACTION_UP, x, y, 0, 0, 0, 0, 0, 0, 0); + View parent = (View) v.getParent(); + parent.dispatchTouchEvent(down); + parent.dispatchTouchEvent(up); + } + }); + inst.waitForIdleSync(); + } } |