summaryrefslogtreecommitdiff
path: root/icu4c/source/test/cintltst/utexttst.c
diff options
context:
space:
mode:
authorVictor Chang <vichang@google.com>2022-04-25 09:38:54 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-04-25 09:38:54 +0000
commiteb33baa492d32e77733f632e675548e1fa7fed21 (patch)
tree23ba6a0c8f20ab03ea66d39926bb447b821c8de5 /icu4c/source/test/cintltst/utexttst.c
parent8ac0b73d8f35248fbca6acc885771084cca21f4b (diff)
parent2919e5e2c836e90846fd2cec07fdce939241c8fc (diff)
downloadicu-eb33baa492d32e77733f632e675548e1fa7fed21.tar.gz
Cherry-pick: ICU-21875 improve C API coverage am: 2919e5e2c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/icu/+/17918903 Change-Id: I1d131b7bb5c447441777f0ccfaeee61068af8948 Ignore-AOSP-First: this is an automerge Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'icu4c/source/test/cintltst/utexttst.c')
-rw-r--r--icu4c/source/test/cintltst/utexttst.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/icu4c/source/test/cintltst/utexttst.c b/icu4c/source/test/cintltst/utexttst.c
index 8f3974c90..6ee85c705 100644
--- a/icu4c/source/test/cintltst/utexttst.c
+++ b/icu4c/source/test/cintltst/utexttst.c
@@ -292,6 +292,22 @@ static void TestAPI(void) {
utext_close(uta);
}
-
+ {
+ // utext_equals() checks for the same type of text provider,
+ // same string pointer(!), and same index.
+ status = U_ZERO_ERROR;
+ const UChar *s = u"aßカ🚲";
+ UText *ut1 = utext_openUChars(NULL, s, -1, &status);
+ UText *ut2 = utext_openUChars(NULL, s, 5, &status);
+ TEST_SUCCESS(status);
+ TEST_ASSERT(utext_equals(ut1, ut2));
+ UChar32 c = utext_next32(ut1);
+ TEST_ASSERT(c == u'a');
+ TEST_ASSERT(!utext_equals(ut1, ut2)); // indexes out of sync
+ c = utext_next32(ut2);
+ TEST_ASSERT(c == u'a');
+ TEST_ASSERT(utext_equals(ut1, ut2)); // back in sync
+ utext_close(ut1);
+ utext_close(ut2);
+ }
}
-