summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeun young Park <keunyoung@google.com>2012-07-20 12:19:01 -0700
committerKeun young Park <keunyoung@google.com>2012-07-20 12:19:01 -0700
commitc89984a02f8879016444dbd831090be88bc8264f (patch)
tree496f1973d86865ba12274e1b198c8a362d7ca412
parent8a23898bbcdecc4b03739c8da44f1c928e0c98c4 (diff)
downloadcts-c89984a02f8879016444dbd831090be88bc8264f.tar.gz
trial to fix long click tests
- TouchUtils.longClickView can fail if there are many events in view side. In that case, down event can be delivered with delay while up event is delivered after 1.5 x long press interval. Then the event will not be recognized as long press but short event. - fundamental solution can be to send up event after detecting long press but adding waitForIdleSync may solve the issue by making sure that there is no pending events Bug: 6420509 Bug: 6316645 Change-Id: Ic14fcb317a1753417aaa8dab20ab4478c21f9453
-rw-r--r--tests/tests/view/src/android/view/cts/View_UsingViewsTest.java12
-rw-r--r--tests/tests/widget/src/android/widget/cts/AbsListViewTest.java1
2 files changed, 11 insertions, 2 deletions
diff --git a/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java b/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java
index adfec694213..74f3c13337c 100644
--- a/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java
+++ b/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java
@@ -21,6 +21,7 @@ import com.android.cts.stub.R;
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.test.ActivityInstrumentationTestCase2;
@@ -35,6 +36,7 @@ import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
+
public class View_UsingViewsTest extends ActivityInstrumentationTestCase2<UsingViewsStubActivity> {
/**
* country of Argentina
@@ -347,15 +349,21 @@ public class View_UsingViewsTest extends ActivityInstrumentationTestCase2<UsingV
mEditText.setLongClickable(true);
assertTrue(mEditText.isLongClickable());
- MockOnLongClickListener onLongClickListener = new MockOnLongClickListener();
+ final MockOnLongClickListener onLongClickListener = new MockOnLongClickListener();
mEditText.setOnLongClickListener(onLongClickListener);
// long click the edit text
assertFalse(onLongClickListener.isOnLongClickCalled());
assertNull(onLongClickListener.getView());
+ mInstrumentation.waitForIdleSync();
TouchUtils.longClickView(this, mEditText);
- assertTrue(onLongClickListener.isOnLongClickCalled());
+ new PollingCheck() {
+ @Override
+ protected boolean check() {
+ return onLongClickListener.isOnLongClickCalled();
+ }
+ }.run();
assertSame(mEditText, onLongClickListener.getView());
// click the Cancel button
diff --git a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
index 6846d38a9c4..72150f261cd 100644
--- a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
@@ -534,6 +534,7 @@ public class AbsListViewTest extends ActivityInstrumentationTestCase2<ListViewSt
assertEquals(0, listener.getPosition());
assertEquals(0, listener.getID());
+ mInstrumentation.waitForIdleSync();
TouchUtils.longClickView(this, v);
new PollingCheck() {