From 5d76301d49ca67af3b01ab1293a71dab532163d7 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Fri, 15 Apr 2022 11:31:41 +0900 Subject: [PATCH] feat: Add unittest case at ubrk - Add unittest case utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2() Change-Id: I1ecdf7f15540c31572baef981dab1fe3d7ffec42 --- tests/tct-base-utils-core_mobile.h | 1 + tests/tct-base-utils-core_tizeniot.h | 1 + tests/tct-base-utils-core_wearable.h | 1 + tests/tct-base-utils_utc_common.h | 1 + tests/utc-capi-base-utils-ubrk.c | 83 +++++++++++++++++++++++++----------- 5 files changed, 63 insertions(+), 24 deletions(-) diff --git a/tests/tct-base-utils-core_mobile.h b/tests/tct-base-utils-core_mobile.h index c57cefe..8849008 100644 --- a/tests/tct-base-utils-core_mobile.h +++ b/tests/tct-base-utils-core_mobile.h @@ -752,6 +752,7 @@ testcase tc_array[] = { {"utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n", utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, + {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p", utc_capi_base_utils_i18n_uchar_get_int_property_value_p, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p2", utc_capi_base_utils_i18n_uchar_get_int_property_value_p2, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p3", utc_capi_base_utils_i18n_uchar_get_int_property_value_p3, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, diff --git a/tests/tct-base-utils-core_tizeniot.h b/tests/tct-base-utils-core_tizeniot.h index c57cefe..8849008 100755 --- a/tests/tct-base-utils-core_tizeniot.h +++ b/tests/tct-base-utils-core_tizeniot.h @@ -752,6 +752,7 @@ testcase tc_array[] = { {"utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n", utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, + {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p", utc_capi_base_utils_i18n_uchar_get_int_property_value_p, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p2", utc_capi_base_utils_i18n_uchar_get_int_property_value_p2, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p3", utc_capi_base_utils_i18n_uchar_get_int_property_value_p3, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, diff --git a/tests/tct-base-utils-core_wearable.h b/tests/tct-base-utils-core_wearable.h index c57cefe..8849008 100644 --- a/tests/tct-base-utils-core_wearable.h +++ b/tests/tct-base-utils-core_wearable.h @@ -752,6 +752,7 @@ testcase tc_array[] = { {"utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n", utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, + {"utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2", utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2, utc_capi_base_utils_ubrk_startup, utc_capi_base_utils_ubrk_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p", utc_capi_base_utils_i18n_uchar_get_int_property_value_p, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p2", utc_capi_base_utils_i18n_uchar_get_int_property_value_p2, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, {"utc_capi_base_utils_i18n_uchar_get_int_property_value_p3", utc_capi_base_utils_i18n_uchar_get_int_property_value_p3, utc_capi_base_utils_uchar_startup, utc_capi_base_utils_uchar_cleanup}, diff --git a/tests/tct-base-utils_utc_common.h b/tests/tct-base-utils_utc_common.h index f84f420..9e0b4b2 100644 --- a/tests/tct-base-utils_utc_common.h +++ b/tests/tct-base-utils_utc_common.h @@ -832,6 +832,7 @@ int utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_p(void); int utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n(void); int utc_capi_base_utils_i18n_ubrk_get_locale_by_type_p(void); int utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n(void); +int utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2(void); int utc_capi_base_utils_i18n_uchar_get_int_property_value_p(void); int utc_capi_base_utils_i18n_uchar_get_int_property_value_p2(void); int utc_capi_base_utils_i18n_uchar_get_int_property_value_p3(void); diff --git a/tests/utc-capi-base-utils-ubrk.c b/tests/utc-capi-base-utils-ubrk.c index c39d6c3..63a5a26 100644 --- a/tests/utc-capi-base-utils-ubrk.c +++ b/tests/utc-capi-base-utils-ubrk.c @@ -33,7 +33,7 @@ static const char *text = "text to be iterated"; */ void utc_capi_base_utils_ubrk_startup(void) { - _text = (i18n_uchar*)calloc(strlen(text) + 1, sizeof(i18n_uchar)); + _text = (i18n_uchar *)calloc(strlen(text) + 1, sizeof(i18n_uchar)); i18n_ustring_copy_ua(_text, text); ret = i18n_ubrk_create(I18N_UBRK_WORD, locale, _text, -1, &ubrk); @@ -47,7 +47,8 @@ void utc_capi_base_utils_ubrk_startup(void) */ void utc_capi_base_utils_ubrk_cleanup(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -78,7 +79,8 @@ int utc_capi_base_utils_i18n_ubrk_create_p(void) */ int utc_capi_base_utils_i18n_ubrk_create_p2(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -97,7 +99,8 @@ int utc_capi_base_utils_i18n_ubrk_create_p2(void) */ int utc_capi_base_utils_i18n_ubrk_create_p3(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -116,7 +119,8 @@ int utc_capi_base_utils_i18n_ubrk_create_p3(void) */ int utc_capi_base_utils_i18n_ubrk_create_p4(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -177,7 +181,8 @@ int utc_capi_base_utils_i18n_ubrk_create_n3(void) */ int utc_capi_base_utils_i18n_ubrk_create_rules_p(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -189,7 +194,7 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_p(void) "[0-5]{500}; \n" "!.*;\n"; - i18n_uchar *_rules = (i18n_uchar*)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); + i18n_uchar *_rules = (i18n_uchar *)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); i18n_ustring_copy_ua(_rules, rules); i18n_uparse_error_s parse_err; @@ -225,7 +230,8 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n(void) */ int utc_capi_base_utils_i18n_ubrk_create_rules_n2(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -237,7 +243,7 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n2(void) "[0-5]{500}; \n" "!.*;\n"; - i18n_uchar *_rules = (i18n_uchar*)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); + i18n_uchar *_rules = (i18n_uchar *)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); i18n_ustring_copy_ua(_rules, rules); i18n_uparse_error_s parse_err; @@ -257,7 +263,8 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n2(void) */ int utc_capi_base_utils_i18n_ubrk_create_rules_n3(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -269,7 +276,7 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n3(void) "[0-5]{500}; \n" "!.*;\n"; - i18n_uchar *_rules = (i18n_uchar*)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); + i18n_uchar *_rules = (i18n_uchar *)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); i18n_ustring_copy_ua(_rules, rules); i18n_uparse_error_s parse_err; @@ -289,7 +296,8 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n3(void) */ int utc_capi_base_utils_i18n_ubrk_create_rules_n4(void) { - if(NULL != ubrk) { + if (NULL != ubrk) + { i18n_ubrk_destroy(ubrk); ubrk = NULL; } @@ -301,7 +309,7 @@ int utc_capi_base_utils_i18n_ubrk_create_rules_n4(void) "[0-5]{500}; \n" "!.*;\n"; - i18n_uchar *_rules = (i18n_uchar*)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); + i18n_uchar *_rules = (i18n_uchar *)calloc(strlen(rules) + 1, sizeof(i18n_uchar)); i18n_ustring_copy_ua(_rules, rules); i18n_uparse_error_s parse_err; @@ -855,7 +863,8 @@ int utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_p(void) "[\\p{L}]{300}; \n" "[\\p{N}]{400}; \n" "[0-5]{500}; \n" - "!.*;\n", rule_string_length); + "!.*;\n", + rule_string_length); const int32_t test_string_length = 25; i18n_uchar testString[test_string_length]; @@ -907,11 +916,12 @@ int utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n(void) i18n_uchar rules[rule_string_length]; i18n_ustring_copy_ua_n(rules, "[A-N]{100}; \n" - "[a-w]{200}; \n" - "[\\p{L}]{300}; \n" - "[\\p{N}]{400}; \n" - "[0-5]{500}; \n" - "!.*;\n", rule_string_length); + "[a-w]{200}; \n" + "[\\p{L}]{300}; \n" + "[\\p{N}]{400}; \n" + "[0-5]{500}; \n" + "!.*;\n", + rule_string_length); const int32_t test_string_length = 25; i18n_uchar testString[test_string_length]; @@ -941,12 +951,14 @@ int utc_capi_base_utils_i18n_ubrk_get_rule_status_vec_n(void) */ static int _loccmp(const char *string, const char *prefix) { - if(NULL == string || NULL == prefix) { + if (NULL == string || NULL == prefix) + { return -3; } /* 'root' is less than everything */ - if(strcmp(prefix, "root") == 0) { + if (strcmp(prefix, "root") == 0) + { return (strcmp(string, "root") == 0) ? 0 : 1; } @@ -954,11 +966,11 @@ static int _loccmp(const char *string, const char *prefix) int32_t prefix_len = (int32_t)strlen(prefix); int32_t compare = strncmp(string, prefix, prefix_len); - if(compare) + if (compare) return -1; - if(string_len == prefix_len) + if (string_len == prefix_len) return 0; - if(string[prefix_len] == '_') + if (string[prefix_len] == '_') return 1; return -2; // false match, e.g. "en_USX" compared with "en_US" } @@ -1012,3 +1024,26 @@ int utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n(void) return 0; } + +/** + * @testcase utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2 + * @since_tizen 2.3 + * @description Gets locale of specified type from invalid locale data type. + * @scenario Pass NULL as the break iterator and expects fail. + */ +int utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2(void) +{ + assert_eq(ret, I18N_ERROR_NONE); + assert_neq(ubrk, NULL); + + const char *locale = "ar_KW_ABDALI"; + ret = i18n_ubrk_create(I18N_UBRK_WORD, locale, _text, strlen(text), &ubrk); + assert_eq(ret, I18N_ERROR_NONE); + assert_neq(ubrk, NULL); + + const char *actual = i18n_ubrk_get_locale_by_type(ubrk, I18N_ULOCALE_DATA_LOCALE_TYPE_LIMIT + 1); + ret = get_last_result(); + assert_eq(ret, I18N_ERROR_INVALID_PARAMETER); + + return 0; +} \ No newline at end of file -- 2.7.4