feat: Add unittest case at ubrk 10/273910/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 15 Apr 2022 02:31:41 +0000 (11:31 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 15 Apr 2022 05:49:23 +0000 (14:49 +0900)
- Add unittest case
  utc_capi_base_utils_i18n_ubrk_get_locale_by_type_n2()

Change-Id: I1ecdf7f15540c31572baef981dab1fe3d7ffec42

tests/tct-base-utils-core_mobile.h
tests/tct-base-utils-core_tizeniot.h
tests/tct-base-utils-core_wearable.h
tests/tct-base-utils_utc_common.h
tests/utc-capi-base-utils-ubrk.c

index c57cefe..8849008 100644 (file)
@@ -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},
index c57cefe..8849008 100755 (executable)
@@ -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},
index c57cefe..8849008 100644 (file)
@@ -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},
index f84f420..9e0b4b2 100644 (file)
@@ -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);
index c39d6c3..63a5a26 100644 (file)
@@ -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