diff options
Diffstat (limited to 'devel/icu/files/patch-r41550')
-rw-r--r-- | devel/icu/files/patch-r41550 | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/devel/icu/files/patch-r41550 b/devel/icu/files/patch-r41550 deleted file mode 100644 index cf0cfe4f9196..000000000000 --- a/devel/icu/files/patch-r41550 +++ /dev/null @@ -1,77 +0,0 @@ -https://ssl.icu-project.org/trac/ticket/13851 - ---- common/ucase.cpp.orig 2018-06-21 09:39:23 UTC -+++ common/ucase.cpp -@@ -270,6 +270,7 @@ ucase_addCaseClosure(UChar32 c, const USetAdder *sa) { - } - } - if(HAS_SLOT(excWord, UCASE_EXC_DELTA)) { -+ pe=pe0; - int32_t delta; - GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe, delta); - sa->add(sa->set, (excWord&UCASE_EXC_DELTA_IS_NEGATIVE)==0 ? c+delta : c-delta); -@@ -1167,7 +1168,7 @@ ucase_toFullLower(UChar32 c, - - if(HAS_SLOT(excWord, UCASE_EXC_DELTA) && UCASE_IS_UPPER_OR_TITLE(props)) { - int32_t delta; -- GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe, delta); -+ GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe2, delta); - return (excWord&UCASE_EXC_DELTA_IS_NEGATIVE)==0 ? c+delta : c-delta; - } - if(HAS_SLOT(excWord, UCASE_EXC_LOWER)) { -@@ -1261,7 +1262,7 @@ toUpperOrTitle(UChar32 c, - - if(HAS_SLOT(excWord, UCASE_EXC_DELTA) && UCASE_GET_TYPE(props)==UCASE_LOWER) { - int32_t delta; -- GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe, delta); -+ GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe2, delta); - return (excWord&UCASE_EXC_DELTA_IS_NEGATIVE)==0 ? c+delta : c-delta; - } - if(!upperNotTitle && HAS_SLOT(excWord, UCASE_EXC_TITLE)) { -@@ -1469,7 +1470,7 @@ ucase_toFullFolding(UChar32 c, - } - if(HAS_SLOT(excWord, UCASE_EXC_DELTA) && UCASE_IS_UPPER_OR_TITLE(props)) { - int32_t delta; -- GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe, delta); -+ GET_SLOT_VALUE(excWord, UCASE_EXC_DELTA, pe2, delta); - return (excWord&UCASE_EXC_DELTA_IS_NEGATIVE)==0 ? c+delta : c-delta; - } - if(HAS_SLOT(excWord, UCASE_EXC_FOLD)) { ---- test/intltest/strcase.cpp.orig 2018-06-21 09:38:41 UTC -+++ test/intltest/strcase.cpp -@@ -68,6 +68,7 @@ class StringCaseTest: public IntlTest { (public) - void TestBug13127(); - void TestInPlaceTitle(); - void TestCaseMapEditsIteratorDocs(); -+ void TestCaseMapGreekExtended(); - - private: - void assertGreekUpper(const char16_t *s, const char16_t *expected); -@@ -113,6 +114,7 @@ StringCaseTest::runIndexedTest(int32_t index, UBool ex - TESTCASE_AUTO(TestInPlaceTitle); - #endif - TESTCASE_AUTO(TestCaseMapEditsIteratorDocs); -+ TESTCASE_AUTO(TestCaseMapGreekExtended); - TESTCASE_AUTO_END; - } - -@@ -1683,6 +1685,19 @@ void StringCaseTest::TestCaseMapEditsIteratorDocs() { - expectedSrcCoarseStringIndices[destIndex], - coarseChangesIterator.sourceIndexFromDestinationIndex(destIndex, status)); - } -+} -+ -+void StringCaseTest::TestCaseMapGreekExtended() { -+ // Ticket 13851 -+ UnicodeString s(u"\u1F80\u1F88\u1FFC"); -+ UnicodeString result(s); -+ result.toLower(Locale::getRoot()); -+ assertEquals(u"lower", u"\u1F80\u1F80\u1FF3", result); -+#if !UCONFIG_NO_BREAK_ITERATION -+ result = s; -+ result.toTitle(nullptr, Locale::getRoot()); -+ assertEquals(u"title", u"\u1F88\u1F80\u1FF3", result); -+#endif - } - - //#endif |