From a99ea9c1387719c67af95ece7a9c44844ea1c11d Mon Sep 17 00:00:00 2001 From: Travis Keep Date: Tue, 17 Sep 2013 18:01:18 +0000 Subject: [PATCH] ICU-9946 Add test for ede case of formatting {0}, {1}, {2} X-SVN-Rev: 34356 --- .../test/intltest/listformattertest.cpp | 25 +++++++++++++++++++ .../source/test/intltest/listformattertest.h | 3 ++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/icu4c/source/test/intltest/listformattertest.cpp b/icu4c/source/test/intltest/listformattertest.cpp index a4b9e18df92..e62eef74954 100644 --- a/icu4c/source/test/intltest/listformattertest.cpp +++ b/icu4c/source/test/intltest/listformattertest.cpp @@ -110,6 +110,30 @@ void ListFormatterTest::TestEnglish() { CheckFourCases("en", one, two, three, four, results); } +void ListFormatterTest::Test9946() { + UErrorCode errorCode = U_ZERO_ERROR; + LocalPointer formatter(ListFormatter::createInstance(Locale("en"), errorCode)); + if (U_FAILURE(errorCode)) { + dataerrln( + "ListFormatter::createInstance(Locale(\"en\"), errorCode) failed in Test9946: %s", + u_errorName(errorCode)); + return; + } + UnicodeString data[3] = {"{0}", "{1}", "{2}"}; + UnicodeString actualResult; + formatter->format(data, 3, actualResult, errorCode); + if (U_FAILURE(errorCode)) { + dataerrln( + "ListFormatter::createInstance(Locale(\"en\"), errorCode) failed in Test9946: %s", + u_errorName(errorCode)); + return; + } + UnicodeString expected("{0}, {1}, and {2}"); + if (expected != actualResult) { + errln("Expected " + expected + ", got " + actualResult); + } +} + void ListFormatterTest::TestEnglishUS() { UnicodeString results[4] = { one, @@ -201,6 +225,7 @@ void ListFormatterTest::runIndexedTest(int32_t index, UBool exec, case 5: name = "TestMalayalam"; if (exec) TestMalayalam(); break; case 6: name = "TestZulu"; if (exec) TestZulu(); break; case 7: name = "TestOutOfOrderPatterns"; if (exec) TestOutOfOrderPatterns(); break; + case 8: name = "Test9946"; if (exec) Test9946(); break; default: name = ""; break; } diff --git a/icu4c/source/test/intltest/listformattertest.h b/icu4c/source/test/intltest/listformattertest.h index 418fe57cc25..73b6e5c2286 100644 --- a/icu4c/source/test/intltest/listformattertest.h +++ b/icu4c/source/test/intltest/listformattertest.h @@ -1,7 +1,7 @@ /* ******************************************************************************* * -* Copyright (C) 2012, International Business Machines +* Copyright (C) 2012-2013, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -35,6 +35,7 @@ class ListFormatterTest : public IntlTest { void TestMalayalam(); void TestZulu(); void TestOutOfOrderPatterns(); + void Test9946(); private: void CheckFormatting(const ListFormatter* formatter, UnicodeString data[], int32_t data_size, const UnicodeString& expected_result); -- 2.40.0