summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp')
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp31
1 files changed, 25 insertions, 6 deletions
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp b/Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp
index 8a81b5b3377..aaf283f7a4e 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/transtst.cpp
@@ -3639,7 +3639,7 @@ void TransliteratorTest::TestIncrementalProgress(void) {
Transliterator *t = Transliterator::createInstance(id, UTRANS_FORWARD, err, status);
if (U_FAILURE(status)) {
- dataerrln((UnicodeString)"FAIL: Could not create " + id);
+ dataerrln((UnicodeString)"FAIL: Could not create " + id + ", status " + u_errorName(status));
delete t;
continue;
}
@@ -3654,19 +3654,38 @@ void TransliteratorTest::TestIncrementalProgress(void) {
// 1. Devanagari-Arabic
// 2. Any-*/BGN
// 2a. Any-*/BGN_1981
- // 3. Any-*/UNGEGN
- // 4. Any-*/MNS
- // If UCONFIG_NO_BREAK_ITERATION is on, Latin-Thai is also not expected to work.
+ // 3. Any-*/MNS
+ //
+ // 4. If UCONFIG_NO_BREAK_ITERATION is on, Latin-Thai is also not expected to work.
+ //
+ // The following are direction="both" transforms with variants, inverting the Any-Xxxx/Variant for
+ // any of these does not work; see ICU-21911 (not sure whether this is intentional or an ICU bug).
+ // Unfortunately we do not easily have the info at this point as to whether the original transform
+ // had direction="both" specified.
+ // 5. Any-*/UNGEGN
+ // 6. Any-Ethiopic/*
+ // 7. Any-Braille/*
+ // 8. Any-*/Gurage_2013
+ // 9. Any-*/Gutgarts
+ // 10. Any-*/Tekie_Alibekit
+ // 11. Any-*/Xaleget
+ //
if ( id.compare((UnicodeString)"Devanagari-Arabic/") != 0
&& !(id.startsWith((UnicodeString)"Any-") &&
- (id.endsWith((UnicodeString)"/BGN") || id.endsWith((UnicodeString)"/BGN_1981") || id.endsWith((UnicodeString)"/UNGEGN") || id.endsWith((UnicodeString)"/MNS"))
+ (id.endsWith((UnicodeString)"/BGN") || id.endsWith((UnicodeString)"/BGN_1981") || id.endsWith((UnicodeString)"/MNS"))
)
#if UCONFIG_NO_BREAK_ITERATION
&& id.compare((UnicodeString)"Latin-Thai/") != 0
#endif
+ && !(logKnownIssue("21911", "ICU4C cannot create inverse of Any-Xxxx/Variant transform created from both-direction transform") &&
+ id.startsWith((UnicodeString)"Any-") &&
+ (id.endsWith((UnicodeString)"/UNGEGN") || id.startsWith((UnicodeString)"Any-Ethiopic/") || id.startsWith((UnicodeString)"Any-Braille/") ||
+ id.endsWith((UnicodeString)"/Gurage_2013") || id.endsWith((UnicodeString)"/Gutgarts") || id.endsWith((UnicodeString)"/Tekie_Alibekit") ||
+ id.endsWith((UnicodeString)"/Xaleget"))
+ )
)
{
- errln((UnicodeString)"FAIL: Could not create inverse of " + id);
+ errln((UnicodeString)"FAIL: Could not create inverse of " + id + ", status " + u_errorName(status));
}
delete t;
delete inv;