New autofill test for CharSequenceTransformation mismatch.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.CharSequenceTransformationTest#testMismatch
Bug: 64482785
Change-Id: Ib7bd0085f4a31e5dba7b3941d917848e1290a67c
diff --git a/tests/autofillservice/src/android/autofillservice/cts/CharSequenceTransformationTest.java b/tests/autofillservice/src/android/autofillservice/cts/CharSequenceTransformationTest.java
index 39e7c22..8723863 100644
--- a/tests/autofillservice/src/android/autofillservice/cts/CharSequenceTransformationTest.java
+++ b/tests/autofillservice/src/android/autofillservice/cts/CharSequenceTransformationTest.java
@@ -168,6 +168,25 @@
argThat(new CharSequenceMatcher("myUserName/..rd")));
}
+ @Test
+ public void testMismatch() throws Exception {
+ AutofillId id1 = new AutofillId(1);
+ CharSequenceTransformation.Builder b = new CharSequenceTransformation.Builder(id1,
+ Pattern.compile("Who are you?"), "1");
+
+ CharSequenceTransformation trans = b.build();
+
+ ValueFinder finder = mock(ValueFinder.class);
+ RemoteViews template = mock(RemoteViews.class);
+
+ when(finder.findByAutofillId(id1)).thenReturn("I'm Batman!");
+
+ trans.apply(finder, template, 0);
+
+ // If the match fails, the view should not change.
+ verify(template, never()).setCharSequence(eq(0), any(), any());
+ }
+
static class CharSequenceMatcher implements ArgumentMatcher<CharSequence> {
private final CharSequence mExpected;