From ee25f053a63a7475ce504a9bd330e3b8335e332d Mon Sep 17 00:00:00 2001 From: Peter Edberg Date: Wed, 15 Jan 2014 09:31:11 +0000 Subject: [PATCH] ICU-10574 Add basic C sanity check too X-SVN-Rev: 34900 --- icu4c/source/test/cintltst/cnumtst.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/icu4c/source/test/cintltst/cnumtst.c b/icu4c/source/test/cintltst/cnumtst.c index 202497eca09..c1f695612c4 100644 --- a/icu4c/source/test/cintltst/cnumtst.c +++ b/icu4c/source/test/cintltst/cnumtst.c @@ -55,6 +55,7 @@ static void TestMaxInt(void); static void TestNoExponent(void); static void TestUFormattable(void); static void TestUNumberingSystem(void); +static void TestContext(void); #define TESTCASE(x) addTest(root, &x, "tsformat/cnumtst/" #x) @@ -79,6 +80,7 @@ void addNumForTest(TestNode** root) TESTCASE(TestNoExponent); TESTCASE(TestUFormattable); TESTCASE(TestUNumberingSystem); + TESTCASE(TestContext); } /* test Parse int 64 */ @@ -2379,4 +2381,25 @@ static void TestUNumberingSystem(void) { } } +static void TestContext(void) { + /* just a minimal sanity check for now */ + UErrorCode status = U_ZERO_ERROR; + UNumberFormat *unum = unum_open(UNUM_SPELLOUT, NULL, 0, "en", NULL, &status); + if ( U_SUCCESS(status) ) { + UDisplayContext context = unum_getContext(unum, UDISPCTX_TYPE_CAPITALIZATION, &status); + if ( U_FAILURE(status) || context != UDISPCTX_CAPITALIZATION_NONE) { + log_err("FAIL: Initial unum_getContext is not UDISPCTX_CAPITALIZATION_NONE\n"); + status = U_ZERO_ERROR; + } + unum_setContext(unum, UDISPCTX_CAPITALIZATION_FOR_STANDALONE, &status); + context = unum_getContext(unum, UDISPCTX_TYPE_CAPITALIZATION, &status); + if ( U_FAILURE(status) || context != UDISPCTX_CAPITALIZATION_FOR_STANDALONE) { + log_err("FAIL: unum_getContext does not return the value set, UDISPCTX_CAPITALIZATION_FOR_STANDALONE\n"); + } + unum_close(unum); + } else { + log_data_err("unum_open UNUM_SPELLOUT for en fails with status %s\n", myErrorName(status)); + } +} + #endif /* #if !UCONFIG_NO_FORMATTING */ -- 2.40.0