[ITC][watchface-complication][ACR-1445][Add new TCs for APIs to manage timezone Info] 02/216202/5
authorABHISHEK JAIN <j.abhishek@samsung.com>
Tue, 22 Oct 2019 07:37:46 +0000 (13:07 +0530)
committershobhit verma <shobhit.v@samsung.com>
Mon, 4 Nov 2019 04:12:43 +0000 (04:12 +0000)
Change-Id: I43184c901f9af8ed60d21f3264defbdd0368d115
Signed-off-by: ABHISHEK JAIN <j.abhishek@samsung.com>
src/itc/watchface/ITs-watchface-common.h
src/itc/watchface/ITs-watchface-complication-provider.c
src/itc/watchface/ITs-watchface-complication.c
src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-arm.tpk
src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-x86.tpk
src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-arm.tpk
src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-x86.tpk
src/itc/watchface/tct-watchface-native_wearable.h

index e5d935958bfc8ac7d841e5a0ad71d7949bbdb940..cb50ec2f5296dee6ac90482d3a4e31217d6122e8 100644 (file)
@@ -244,6 +244,22 @@ else \
 }\
 }
 
+#define WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet)\
+{\
+       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);\
+       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));\
+       service_app_exit();\
+}
+
+#define WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, Callback, nRet)\
+{\
+       nRet = watchface_complication_remove_updated_cb(hHandle, Callback);\
+       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));\
+       nRet = watchface_complication_destroy(hHandle);\
+       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));\
+       service_app_exit();\
+}
+
 char* WatchfaceComplicationGetError(int nRet);
 char* AppControlGetError(int nRet);
 char* BundleGetError(int nRet);
index 064a9fd92d50d86c1ecdfe20519be8703b50519c..c6eb16dce7dcc4df7fae091d9b7e759ebdb5c2c3 100755 (executable)
@@ -225,6 +225,8 @@ static void UpdateRequestedCb2(const char *pszProviderId, const char *pszReqAppi
 {
        FPRINTF("[Line : %d][%s] %s invoked\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
        int nRet = WATCHFACE_COMPLICATION_ERROR_IO_ERROR;
+       complication_time_info_h hTimeInfo = NULL;
+
        switch(eType)
        {
        case WATCHFACE_COMPLICATION_TYPE_SHORT_TEXT :
@@ -232,35 +234,54 @@ static void UpdateRequestedCb2(const char *pszProviderId, const char *pszReqAppi
                CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_short_text");
                CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_short_text", WatchfaceComplicationGetError(nRet));
                nRet =  watchface_complication_provider_data_set_title( pszSharedData, "title");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_title",                WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_title", WatchfaceComplicationGetError(nRet));
                break;
        case WATCHFACE_COMPLICATION_TYPE_LONG_TEXT :
                nRet = watchface_complication_provider_data_set_long_text(pszSharedData, "long text");
                CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_long_text");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_long_text",                            WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_long_text", WatchfaceComplicationGetError(nRet));
                nRet = watchface_complication_provider_data_set_extra_data(pszSharedData, "extra data");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_extra_data",                           WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_extra_data", WatchfaceComplicationGetError(nRet));
                break;
        case WATCHFACE_COMPLICATION_TYPE_RANGED_VALUE :
                nRet = watchface_complication_provider_data_set_ranged_value(
                        pszSharedData, 50.0, 0.0, 100.0);
                CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_ranged_value");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_ranged_value",                                 WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_ranged_value", WatchfaceComplicationGetError(nRet));
                break;
        case WATCHFACE_COMPLICATION_TYPE_ICON :
                nRet = watchface_complication_provider_data_set_icon_path(pszSharedData, "temp_icon_path");
                CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_icon_path");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_icon_path",                            WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_icon_path", WatchfaceComplicationGetError(nRet));
                break;
        case WATCHFACE_COMPLICATION_TYPE_IMAGE :
                nRet = watchface_complication_provider_data_set_image_path(pszSharedData, "temp_image_path");
                CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_image_path");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_image_path",                           WatchfaceComplicationGetError(nRet));
+               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_image_path", WatchfaceComplicationGetError(nRet));
                break;
        case WATCHFACE_COMPLICATION_TYPE_TIME :
-               nRet = watchface_complication_provider_data_set_timestamp(pszSharedData, 12345);
-               CALLBACK_ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_data_set_timestamp");
-               CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_data_set_timestamp",                            WatchfaceComplicationGetError(nRet));
+               nRet = watchface_complication_provider_timeinfo_create(&hTimeInfo);
+               CALLBACK_ISFEATURE_SUPPORTED_EXIT(WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, nRet, "watchface_complication_provider_timeinfo_create");
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_create", WatchfaceComplicationGetError(nRet));
+               CHECK_HANDLE_EXIT(hTimeInfo, "watchface_complication_provider_timeinfo_create");
+
+               nRet = watchface_complication_provider_timeinfo_set_timezone(hTimeInfo, "UTC+9");
+               CALLBACK_EXIT_CLEANUP(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_set_timezone", WatchfaceComplicationGetError(nRet), watchface_complication_provider_timeinfo_destroy(hTimeInfo));
+
+               nRet = watchface_complication_provider_timeinfo_set_timezone_id(hTimeInfo, "Asia/Seoul");
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_set_timezone_id", WatchfaceComplicationGetError(nRet));
+
+               nRet = watchface_complication_provider_timeinfo_set_timezone_country(hTimeInfo, "Korea");
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_set_timezone_country", WatchfaceComplicationGetError(nRet));
+
+               nRet = watchface_complication_provider_timeinfo_set_timezone_city(hTimeInfo, "Seoul");
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_set_timezone_city", WatchfaceComplicationGetError(nRet));
+
+               nRet = watchface_complication_provider_data_set_timeinfo(pszSharedData, hTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_data_set_timeinfo", WatchfaceComplicationGetError(nRet));
+
+               nRet = watchface_complication_provider_timeinfo_destroy(hTimeInfo);
+               PRINT_RESULT_NORETURN(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
                break;
        default :
                break;
@@ -537,15 +558,11 @@ int ITc_watchface_complication_provider_notify_update_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ComplicationProviderUpdateRequestedCb");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, ComplicationProviderUpdateRequestedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
 
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, ComplicationProviderUpdateRequestedCb);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -743,14 +760,10 @@ int ITc_watchface_complication_provider_data_set_short_text_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -787,14 +800,10 @@ int ITc_watchface_complication_provider_data_set_long_text_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -831,59 +840,10 @@ int ITc_watchface_complication_provider_data_set_title_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
-       return 0;
-}
-
-//& purpose: To set timestamp data for shared data
-//& type: auto
-/**
-* @testcase                            ITc_watchface_complication_provider_data_set_timestamp_p
-* @since_tizen                         5.0
-* @author                              SRID(karanam.s)
-* @reviewer                            SRID(manoj.g2)
-* @type                                        auto
-* @description                         Sets timestamp data for shared data.
-* @scenario                            Sets timestamp data for shared data.
-* @apicovered                          watchface_complication_provider_data_set_timestamp
-* @passcase                            watchface_complication_provider_data_set_timestamp returns 0
-* @failcase                            watchface_complication_provider_data_set_timestamp returns 1
-* @precondition                                N/A
-* @postcondition                       N/A
-* */
-int ITc_watchface_complication_provider_data_set_timestamp_p(void)
-{
-       START_TEST;
-       int nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
-       if(g_bFeatureNotSupported)
-               return 0;
-       if(g_bIsFeatureMismatched)
-               return 1;
-       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
-
-       g_bCallBackHit = false;
-       nWatchfaceId++;
-       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME", nWatchfaceId);
-
-       IterateGmainLoop();
-       if(!g_bCallBackHit)
-       {
-               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
-               return 1;
-       }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -920,14 +880,10 @@ int ITc_watchface_complication_provider_data_set_image_path_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -964,14 +920,10 @@ int ITc_watchface_complication_provider_data_set_ranged_value_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -1007,14 +959,10 @@ int ITc_watchface_complication_provider_data_set_icon_path_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        return 0;
 }
 
@@ -1050,13 +998,10 @@ int ITc_watchface_complication_provider_data_set_extra_data_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
        service_app_exit();
        return 0;
 }
@@ -1272,14 +1217,249 @@ int ITc_watchface_complication_provider_data_is_valid_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "WatchfaceComplicationProviderDataIsValidCb");
-               nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, WatchfaceComplicationProviderDataIsValidCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
                return 1;
        }
 
-       nRet = watchface_complication_provider_remove_update_requested_cb(PROVIDER_ID, WatchfaceComplicationProviderDataIsValidCb);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_remove_update_requested_cb", WatchfaceComplicationGetError(nRet));
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
+//& purpose: To Creates and Destroy timeinfo data.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_timeinfo_create_destroy_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Creates and Destroy timeinfo data.
+* @scenario                            Creates and Destroy timeinfo data.
+* @apicovered                          watchface_complication_provider_timeinfo_create, watchface_complication_provider_timeinfo_destroy
+* @passcase                            Target APIs returns 0
+* @failcase                            Target APIs returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_timeinfo_create_destroy_p(void)
+{
+       START_TEST;
+
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       complication_time_info_h hTimeInfo = NULL;
+
+       nRet = watchface_complication_provider_timeinfo_create(&hTimeInfo);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_timeinfo_create");
+       PRINT_RESULT_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_provider_timeinfo_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hTimeInfo, "watchface_complication_provider_timeinfo_create");
+
+       nRet = watchface_complication_provider_timeinfo_destroy(hTimeInfo);
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+
        service_app_exit();
        return 0;
 }
+
+//& purpose: To Set timezone information.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_timeinfo_set_timezone_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Set timezone information.
+* @scenario                            Set timezone information.
+* @apicovered                          watchface_complication_provider_timeinfo_set_timezone
+* @passcase                            watchface_complication_provider_timeinfo_set_timezone returns 0
+* @failcase                            watchface_complication_provider_timeinfo_set_timezone returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_timeinfo_set_timezone_p(void)
+{
+       START_TEST;
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+
+       nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_add_update_requested_cb");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
+
+       g_bCallBackHit = false;
+       nWatchfaceId++;
+
+       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME_ZONE", nWatchfaceId);
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
+//& purpose: To set timezone id.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_timeinfo_set_timezone_id_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Set timezone id.
+* @scenario                            Set timezone id.
+* @apicovered                          watchface_complication_provider_timeinfo_set_timezone_id
+* @passcase                            watchface_complication_provider_timeinfo_set_timezone_id returns 0
+* @failcase                            watchface_complication_provider_timeinfo_set_timezone_id returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_timeinfo_set_timezone_id_p(void)
+{
+       START_TEST;
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+
+       nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_add_update_requested_cb");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
+
+       g_bCallBackHit = false;
+       nWatchfaceId++;
+       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME_ZONE_ID", nWatchfaceId);
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+               return 1;
+       }
+
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
+//& purpose: To set timezone country information.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_timeinfo_set_timezone_country_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Set timezone country information.
+* @scenario                            Set timezone country information.
+* @apicovered                          watchface_complication_provider_timeinfo_set_timezone_country
+* @passcase                            watchface_complication_provider_timeinfo_set_timezone_country returns 0
+* @failcase                            watchface_complication_provider_timeinfo_set_timezone_country returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_timeinfo_set_timezone_country_p(void)
+{
+       START_TEST;
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+
+       nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_add_update_requested_cb");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
+
+       g_bCallBackHit = false;
+       nWatchfaceId++;
+       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME_ZONE_COUNTRY", nWatchfaceId);
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+               return 1;
+       }
+
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
+//& purpose: To set timezone city information.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_timeinfo_set_timezone_city_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Set timezone city information.
+* @scenario                            Set timezone city information.
+* @apicovered                          watchface_complication_provider_timeinfo_set_timezone_city
+* @passcase                            watchface_complication_provider_timeinfo_set_timezone_city returns 0
+* @failcase                            watchface_complication_provider_timeinfo_set_timezone_city returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_timeinfo_set_timezone_city_p(void)
+{
+       START_TEST;
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+
+       nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_add_update_requested_cb");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
+
+       g_bCallBackHit = false;
+       nWatchfaceId++;
+       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME_ZONE_CITY", nWatchfaceId);
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
+//& purpose: To set time information data to shared data..
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_provider_data_set_timeinfo_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Sets time information data to shared data.
+* @scenario                            Sets time information data to shared data.
+* @apicovered                          watchface_complication_provider_data_set_timeinfo
+* @passcase                            watchface_complication_provider_data_set_timeinfo returns 0
+* @failcase                            watchface_complication_provider_data_set_timeinfo returns 1
+* @precondition                                N/A
+* @postcondition                       N/A
+* */
+int ITc_watchface_complication_provider_data_set_timeinfo_p(void)
+{
+       START_TEST;
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+
+       nRet = watchface_complication_provider_add_update_requested_cb(PROVIDER_ID, UpdateRequestedCb2, NULL);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_provider_add_update_requested_cb");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_provider_add_update_requested_cb", WatchfaceComplicationGetError(nRet));
+
+       g_bCallBackHit = false;
+       nWatchfaceId++;
+       RunApp(COMPLICATION_TEST_APP, "COMP_TYPE", "TIME_INFO", nWatchfaceId);
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "UpdateRequestedCb2");
+               WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_PROVIDER_REMOVE_UPDATED_REQUESTED_CB_EXIT(PROVIDER_ID, UpdateRequestedCb2, nRet);
+       return 0;
+}
+
index aff0469fb45d7530e5c6335ae5af7920650fb11a..39683b91f68a075d1a25ec269e3322ae28fe6a43 100755 (executable)
@@ -81,32 +81,6 @@ static void WatchfaceComplicationUpdatedCb(int nComplicationId, const char *pszP
        return;
 }
 
-/**
-* @function            WatchfaceEditableUpdateRequestedCb
-* @description         Callback Function
-* @parameters          const watchface_editable_h hHandle, int nSelectedIdx, const watchface_editable_edit_state_e eState, void *pszUserData
-* @return              NA
-*/
-static void WatchfaceEditableUpdateRequestedCb(const watchface_editable_h hHandle, int nSelectedIdx, const watchface_editable_edit_state_e eState, void *pszUserData)
-{
-       FPRINTF("[Line : %d][%s] %s invoked\\n", __LINE__, API_NAMESPACE, "WatchfaceEditableUpdateRequestedCb");
-       g_bCallBackHit = true;
-       return;
-}
-
-/**
-* @function            WatchfaceComplicationProviderUpdateRequestedCb
-* @description         Callback Function
-* @parameters          const char *pszProviderId, const char *pszReqAppid, watchface_complication_type_e eType, const bundle *pszContext, bundle *pszShareData,                                void *pszUserData
-* @return              NA
-*/
-static void WatchfaceComplicationProviderUpdateRequestedCb(const char *pszProviderId, const char *pszReqAppid, watchface_complication_type_e eType, const bundle *pszContext, bundle *pszShareData, void *pszUserData)
-{
-       FPRINTF("[Line : %d][%s] %s invoked\\n", __LINE__, API_NAMESPACE, "WatchfaceComplicationProviderUpdateRequestedCb");
-       g_bCallBackHit = true;
-       return;
-}
-
 /**
 * @function            WatchfaceComplicationErrorCb
 * @description         Callback Function
@@ -208,30 +182,6 @@ static void TitleComplicationUpdatedCb(int nComplicationId,const char *pszProvid
        return;
 }
 
-/**
-* @function            TimeComplicationUpdatedCb
-* @description         Callback Function
-* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
-* @return              NA
-*/
-static void TimeComplicationUpdatedCb(int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData)
-{
-       long nTimeStamp = -1;
-       FPRINTF("[Line : %d][%s] %s invoked\\n", __LINE__, API_NAMESPACE, "TimeComplicationUpdatedCb");
-       int nRet = watchface_complication_data_get_timestamp(pszData, &nTimeStamp);
-       CALLBACK_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_data_get_timestamp", WatchfaceComplicationGetError(nRet));
-       if( nTimeStamp < 0 )
-       {
-               FPRINTF("[Line : %d][%s] %s failed. nTimeStamp = %d\\n", __LINE__, API_NAMESPACE, "watchface_complication_data_get_timestamp", nTimeStamp);
-               service_app_exit();
-               return;
-       }
-
-       g_bCallBackHit = true;
-       service_app_exit();
-       return;
-}
-
 /**
 * @function            ImageComplicationUpdatedCb
 * @description         Callback Function
@@ -350,6 +300,306 @@ static void ScreenReaderCb(int nComplicationId, const char *pszProviderId, watch
        return;
 }
 
+/**
+* @function            GetTimeInfoComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeInfoComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+       watchface_complication_type_e eComplicationType;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeInfoComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            GetTimeZoneComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeZoneComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       char *pszGetTimeZone = NULL;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+       watchface_complication_type_e eComplicationType;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_get_timezone(hComlicationTimeInfo, &pszGetTimeZone);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_get_timezone", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(pszGetTimeZone, "watchface_complication_timeinfo_get_timezone");
+
+               if(strncmp(pszGetTimeZone, "UTC+9", strlen("UTC+9")))
+               {
+                       FPRINTF("[Line : %d][%s] watchface_complication_timeinfo_get_timezone failed. pszGetTimeZone = %s\\n", __LINE__, API_NAMESPACE, pszGetTimeZone);
+                       FREE_MEMORY(pszGetTimeZone);
+
+                       nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+                       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+
+                       service_app_exit();
+                       return;
+               }
+               FREE_MEMORY(pszGetTimeZone);
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            GetTimeZoneIDComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeZoneIDComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       char *pszGetTimeZoneID = NULL;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+       watchface_complication_type_e eComplicationType;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneIDComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_get_timezone_id(hComlicationTimeInfo, &pszGetTimeZoneID);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_get_timezone_id", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(pszGetTimeZoneID, "watchface_complication_timeinfo_get_timezone_id");
+
+               if(strncmp(pszGetTimeZoneID, "Asia/Seoul", strlen("Asia/Seoul")))
+               {
+                       FPRINTF("[Line : %d][%s] watchface_complication_timeinfo_get_timezone_id failed. pszGetTimeZoneID = %s\\n", __LINE__, API_NAMESPACE, pszGetTimeZoneID);
+                       FREE_MEMORY(pszGetTimeZoneID);
+
+                       nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+                       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+
+                       service_app_exit();
+                       return;
+               }
+               FREE_MEMORY(pszGetTimeZoneID);
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            GetTimeZoneCountryComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeZoneCountryComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       char *pszGetTimeZoneCtry = NULL;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+       watchface_complication_type_e eComplicationType;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneCountryComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_get_timezone_country(hComlicationTimeInfo, &pszGetTimeZoneCtry);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_get_timezone_country", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(pszGetTimeZoneCtry, "watchface_complication_timeinfo_get_timezone_country");
+
+               if(strncmp(pszGetTimeZoneCtry, "Korea", strlen("Korea")))
+               {
+                       FPRINTF("[Line : %d][%s] watchface_complication_timeinfo_get_timezone_country failed. pszGetTimeZoneCtry = %s\\n", __LINE__, API_NAMESPACE, pszGetTimeZoneCtry);
+                       FREE_MEMORY(pszGetTimeZoneCtry);
+
+                       nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+                       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+
+                       service_app_exit();
+                       return;
+               }
+               FREE_MEMORY(pszGetTimeZoneCtry);
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            GetTimeZoneCityComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeZoneCityComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       char *pszGetTimeZoneCity = NULL;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+       watchface_complication_type_e eComplicationType;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneCityComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_get_timezone_city(hComlicationTimeInfo, &pszGetTimeZoneCity);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_get_timezone_city", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(pszGetTimeZoneCity, "watchface_complication_timeinfo_get_timezone_city");
+
+               if(strncmp(pszGetTimeZoneCity, "Seoul", strlen("Seoul")))
+               {
+                       FPRINTF("[Line : %d][%s] watchface_complication_timeinfo_get_timezone_city failed. pszGetTimeZoneCity = %s\\n", __LINE__, API_NAMESPACE, pszGetTimeZoneCity);
+                       FREE_MEMORY(pszGetTimeZoneCity);
+
+                       nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+                       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+
+                       service_app_exit();
+                       return;
+               }
+               FREE_MEMORY(pszGetTimeZoneCity);
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            GetTimeStampComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void GetTimeStampComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       time_t tTimeStamp;
+       watchface_complication_type_e eComplicationType;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "GetTimeStampComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_timeinfo", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_timeinfo");
+
+               nRet = watchface_complication_timeinfo_get_timestamp(hComlicationTimeInfo, &tTimeStamp);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_get_timestamp", WatchfaceComplicationGetError(nRet));
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
+/**
+* @function            TimeInfoDestroyComplicationCb
+* @description         Callback Function
+* @parameters          int nComplicationId,const char *pszProviderId,watchface_complication_type_e eType,const bundle *pszData, void *pszUserData
+* @return              NA
+*/
+static void TimeInfoDestroyComplicationCb(int nComplicationId, const char *pszProviderId, watchface_complication_type_e eType, const bundle *pszData, void *pszUserData)
+{
+       int nRet = WATCHFACE_COMPLICATION_ERROR_NONE;
+       watchface_complication_type_e eComplicationType;
+       complication_time_info_h hComlicationTimeInfo = NULL;
+
+       FPRINTF("[Line : %d][%s] %s invoked.\\n", __LINE__, API_NAMESPACE, "TimeInfoDestroyComplicationCb");
+
+       nRet = watchface_complication_data_get_type(pszData, &eComplicationType);
+       CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_type", WatchfaceComplicationGetError(nRet));
+
+       if(eComplicationType == WATCHFACE_COMPLICATION_TYPE_TIME)
+       {
+               nRet = watchface_complication_data_get_timeinfo(pszData, &hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_data_get_extra_data", WatchfaceComplicationGetError(nRet));
+               CALLBACK_CHECK_HANDLE_EXIT(hComlicationTimeInfo, "watchface_complication_data_get_extra_data");
+
+               nRet = watchface_complication_timeinfo_destroy(hComlicationTimeInfo);
+               CALLBACK_EXIT(WATCHFACE_COMPLICATION_ERROR_NONE, nRet, "watchface_complication_timeinfo_destroy", WatchfaceComplicationGetError(nRet));
+       }
+
+       g_bCallBackHit = true;
+       service_app_exit();
+       return;
+}
+
 
 /*****************************************************Callback End*****************************************************/
 //& purpose: To get the id of provider in the complication
@@ -567,18 +817,10 @@ int ITc_watchface_complication_data_get_type_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "TypeComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, TypeComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TypeComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, TypeComplicationUpdatedCb);
-       PRINT_RESULT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TypeComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -620,20 +862,10 @@ int ITc_watchface_complication_data_get_short_text_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ShortTextComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, ShortTextComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ShortTextComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, ShortTextComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ShortTextComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -675,21 +907,10 @@ int ITc_watchface_complication_data_get_long_text_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "LongTextComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, LongTextComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, LongTextComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, LongTextComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, LongTextComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -732,140 +953,63 @@ int ITc_watchface_complication_data_get_title_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "TitleComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, TitleComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TitleComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, TitleComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TitleComplicationUpdatedCb, nRet);
        return 0;
 }
 
-//& purpose: To get timestamp from complication data
+//& purpose: To get image path from complication data
 //& type: auto
 /**
-* @testcase                            ITc_watchface_complication_data_get_timestamp_p
+* @testcase                            ITc_watchface_complication_data_get_image_path_p
 * @since_tizen                         5.0
 * @author                              SRID(samuel.peter)
 * @reviewer                            SRID(manoj.g2)
 * @type                                        auto
-* @description                         Gets timestamp from complication data.
-* @scenario                            Gets timestamp from complication data.
-* @apicovered                          watchface_complication_data_get_timestamp
-* @passcase                            watchface_complication_data_get_timestamp returns 0
-* @failcase                            watchface_complication_data_get_timestamp returns 1
+* @description                         Gets image path from complication data.
+* @scenario                            Gets image path from complication data.
+* @apicovered                          watchface_complication_data_get_image_path
+* @passcase                            watchface_complication_data_get_image_path returns 0
+* @failcase                            watchface_complication_data_get_image_path returns 1
 * @precondition                                N/A
 * @postcondition                       N/A
 * */
-int ITc_watchface_complication_data_get_timestamp_p(void)
+int ITc_watchface_complication_data_get_image_path_p(void)
 {
        START_TEST;
        complication_h hHandle = NULL;
        g_bCallBackHit = false;
-       nComplicatoinId++;
 
-       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       nComplicatoinId++;
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_IMAGE, WATCHFACE_COMPLICATION_TYPE_IMAGE, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
        ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
        PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
        CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
-       nRet = watchface_complication_add_updated_cb(hHandle, TimeComplicationUpdatedCb, WatchfaceComplicationErrorCb, NULL);
+
+       nRet = watchface_complication_add_updated_cb(hHandle, ImageComplicationUpdatedCb, WatchfaceComplicationErrorCb, NULL);
        PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
 
+
        nRet = watchface_complication_send_update_request(hHandle);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, TimeComplicationUpdatedCb); watchface_complication_destroy(hHandle));
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, ImageComplicationUpdatedCb); watchface_complication_destroy(hHandle));
 
        IterateGmainLoop();
        if(!g_bCallBackHit)
        {
-               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "TimeComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, TimeComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ImageComplicationUpdatedCb");
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ImageComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, TimeComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ImageComplicationUpdatedCb, nRet);
        return 0;
 }
 
-//& purpose: To get image path from complication data
+//& purpose: To get ranged value from complication data
 //& type: auto
 /**
-* @testcase                            ITc_watchface_complication_data_get_image_path_p
-* @since_tizen                         5.0
-* @author                              SRID(samuel.peter)
-* @reviewer                            SRID(manoj.g2)
-* @type                                        auto
-* @description                         Gets image path from complication data.
-* @scenario                            Gets image path from complication data.
-* @apicovered                          watchface_complication_data_get_image_path
-* @passcase                            watchface_complication_data_get_image_path returns 0
-* @failcase                            watchface_complication_data_get_image_path returns 1
-* @precondition                                N/A
-* @postcondition                       N/A
-* */
-int ITc_watchface_complication_data_get_image_path_p(void)
-{
-       START_TEST;
-       complication_h hHandle = NULL;
-       g_bCallBackHit = false;
-
-       nComplicatoinId++;
-       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_IMAGE, WATCHFACE_COMPLICATION_TYPE_IMAGE, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
-       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
-       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
-       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
-
-       nRet = watchface_complication_add_updated_cb(hHandle, ImageComplicationUpdatedCb, WatchfaceComplicationErrorCb, NULL);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-
-       nRet = watchface_complication_send_update_request(hHandle);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, ImageComplicationUpdatedCb); watchface_complication_destroy(hHandle));
-
-       IterateGmainLoop();
-       if(!g_bCallBackHit)
-       {
-               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ImageComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, ImageComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
-               return 1;
-       }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, ImageComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
-       return 0;
-}
-
-//& purpose: To get ranged value from complication data
-//& type: auto
-/**
-* @testcase                            ITc_watchface_complication_data_get_ranged_value_p
+* @testcase                            ITc_watchface_complication_data_get_ranged_value_p
 * @since_tizen                         5.0
 * @author                              SRID(samuel.peter)
 * @reviewer                            SRID(manoj.g2)
@@ -900,21 +1044,10 @@ int ITc_watchface_complication_data_get_ranged_value_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "RangedValueComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, RangedValueComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, RangedValueComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, RangedValueComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, RangedValueComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -956,21 +1089,10 @@ int ITc_watchface_complication_data_get_icon_path_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "IconComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, IconComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, IconComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, IconComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, IconComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -1012,21 +1134,10 @@ int ITc_watchface_complication_data_get_extra_data_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ExtraDataComplicationUpdatedCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, ExtraDataComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ExtraDataComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, ExtraDataComplicationUpdatedCb);
-       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-
-       service_app_exit();
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ExtraDataComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -1255,21 +1366,10 @@ int ITc_watchface_complication_data_get_screen_reader_text_p(void)
        if(!g_bCallBackHit)
        {
                FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "ScreenReaderCb");
-               nRet = watchface_complication_remove_updated_cb(hHandle, RangedValueComplicationUpdatedCb);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-               nRet = watchface_complication_destroy(hHandle);
-               PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-               service_app_exit();
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, RangedValueComplicationUpdatedCb, nRet);
                return 1;
        }
-
-       nRet = watchface_complication_remove_updated_cb(hHandle, ScreenReaderCb);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
-
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
-
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, RangedValueComplicationUpdatedCb, nRet);
        return 0;
 }
 
@@ -1306,12 +1406,336 @@ int ITc_watchface_complication_transfer_event_p(void)
        nRet = watchface_complication_transfer_event(hHandle, WATCHFACE_COMPLICATION_EVENT_TAP);
        PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_transfer_event", WatchfaceComplicationGetError(nRet));
 
-       nRet = watchface_complication_remove_updated_cb(hHandle, ScreenReaderCb);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_remove_updated_cb", WatchfaceComplicationGetError(nRet));
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, ScreenReaderCb, nRet);
+       return 0;
+}
 
-       nRet = watchface_complication_destroy(hHandle);
-       PRINT_RESULT_NORETURN(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_destroy", WatchfaceComplicationGetError(nRet));
-       service_app_exit();
+//& purpose: To get timeinfo from complication data.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_data_get_timeinfo_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timeinfo from complication data.
+* @scenario                            Gets timeinfo from complication data.
+* @apicovered                          watchface_complication_data_get_timeinfo
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_data_get_timeinfo_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeInfoComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeInfoComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] GetTimeInfoComplicationCb was not hit.\\n", __LINE__, API_NAMESPACE);
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeInfoComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeInfoComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To get timezone from timeinfo.
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_get_timezone_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timezone from timeinfo.
+* @scenario                            Gets timezone from timeinfo.
+* @apicovered                          watchface_complication_timeinfo_get_timezone
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_get_timezone_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeZoneComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeZoneComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To get timezone ID from timeinfo
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_get_timezone_id_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timezone ID from timeinfo
+* @scenario                            Gets timezone ID from timeinfo
+* @apicovered                          watchface_complication_timeinfo_get_timezone_id
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_get_timezone_id_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeZoneIDComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeZoneIDComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneIDComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneIDComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneIDComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To get timezone country from timeinfo
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_get_timezone_country_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timezone country from timeinfo.
+* @scenario                            Gets timezone country from timeinfo.
+* @apicovered                          watchface_complication_timeinfo_get_timezone_country
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_get_timezone_country_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeZoneCountryComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeZoneCountryComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneCountryComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneCountryComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneCountryComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To get timezone city from timeinfo
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_get_timezone_city_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timezone city from timeinfo
+* @scenario                            Gets timezone city from timeinfo
+* @apicovered                          watchface_complication_timeinfo_get_timezone_city
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_get_timezone_city_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeZoneCityComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeZoneCityComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "GetTimeZoneCityComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneCityComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeZoneCityComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To get timestamp from timeinfo
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_get_timestamp_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Gets timestamp from timeinfo
+* @scenario                            Gets timestamp from timeinfo
+* @apicovered                          watchface_complication_timeinfo_get_timestamp
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_get_timestamp_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, GetTimeStampComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, GetTimeStampComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "GetTimeStampComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeStampComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, GetTimeStampComplicationCb, nRet);
+       return 0;
+}
+
+//& purpose: To destroy time information handle
+//& type: auto
+/**
+* @testcase                            ITc_watchface_complication_timeinfo_destroy_p
+* @since_tizen                         5.5
+* @author                              SRID(j.abhishek)
+* @reviewer                            SRID(shobhit.v)
+* @type                                        auto
+* @description                         Destroys time information handle
+* @scenario                            Destroys time information handle
+* @apicovered                          watchface_complication_timeinfo_destroy
+* @passcase                            Target APIs return 0
+* @failcase                            Target APIs return 1
+* @precondition                                Complication handle should be created by watchface_complication_create().
+* @postcondition                       Complication handle should be created by watchface_complication_destroy().
+* */
+int ITc_watchface_complication_timeinfo_destroy_p(void)
+{
+       START_TEST;
+       complication_h hHandle = NULL;
+       nComplicatoinId++;
+
+       int nRet = watchface_complication_create(nComplicatoinId, PROVIDER_ID, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_TYPE_TIME, WATCHFACE_COMPLICATION_EVENT_NONE, &hHandle);
+       ISFEATURE_SUPPORTED_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NOT_SUPPORTED, "watchface_complication_create");
+       PRINT_RESULT_EXIT(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_create", WatchfaceComplicationGetError(nRet));
+       CHECK_HANDLE_EXIT(hHandle, "watchface_complication_create");
+
+       nRet = watchface_complication_add_updated_cb(hHandle, TimeInfoDestroyComplicationCb, WatchfaceComplicationErrorCb, NULL);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_add_updated_cb", WatchfaceComplicationGetError(nRet), watchface_complication_destroy(hHandle));
+
+       g_bCallBackHit = false;
+
+       nRet = watchface_complication_send_update_request(hHandle);
+       PRINT_RESULT_EXIT_CLEANUP(nRet, WATCHFACE_COMPLICATION_ERROR_NONE, "watchface_complication_send_update_request", WatchfaceComplicationGetError(nRet), watchface_complication_remove_updated_cb(hHandle, TimeInfoDestroyComplicationCb); watchface_complication_destroy(hHandle));
+
+       IterateGmainLoop();
+       if(!g_bCallBackHit)
+       {
+               FPRINTF("[Line : %d][%s] %s was not hit.\\n", __LINE__, API_NAMESPACE, "TimeInfoDestroyComplicationCb");
+
+               WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TimeInfoDestroyComplicationCb, nRet);
+               return 1;
+       }
+       WATCHFACE_COMPLICATION_REMOVE_UPDATED_CB_EXIT(hHandle, TimeInfoDestroyComplicationCb, nRet);
        return 0;
 }
 
index 5834120c3a6a5da745b8b3d2f81927572f2d63f4..8f403a72ccfd0e79d659619a9d7d5a2c939704b6 100644 (file)
Binary files a/src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-arm.tpk and b/src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-arm.tpk differ
index 132693fe0dc28802264151c8d804aef87700c645..4a9841010abbc9ed406c06e2d67661702d244cce 100644 (file)
Binary files a/src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-x86.tpk and b/src/itc/watchface/res/wearable/org.tizen.complication_test-1.0.0-x86.tpk differ
index cb246f393c20292208c388548675570b2c96901f..d48d1c0a92a7a79c99ba5d7656a40361cb513e2f 100644 (file)
Binary files a/src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-arm.tpk and b/src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-arm.tpk differ
index 29e47f1f3b1cf7c9dabcecc4248653904162af94..ae6c5538764757bd75842ee091c8602794471464 100644 (file)
Binary files a/src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-x86.tpk and b/src/itc/watchface/res/wearable/org.tizen.watchface_sample_provider-1.0.0-x86.tpk differ
index 4c5d999c69c8bdd7c17f20fb1c2a4529f7c3f954..f194def8f6bdaefede0aadef0a9dd56aa51a3d5b 100755 (executable)
 #include "testcase.h"
 #include "tct_common.h"
 
-
 extern void ITs_watchface_complication_provider_startup(void);
 extern void ITs_watchface_complication_provider_cleanup(void);
+extern int ITc_watchface_complication_provider_timeinfo_create_destroy_p(void);
+extern int ITc_watchface_complication_provider_data_set_timeinfo_p(void);
+extern int ITc_watchface_complication_provider_timeinfo_set_timezone_p(void);
+extern int ITc_watchface_complication_provider_timeinfo_set_timezone_id_p(void);
+extern int ITc_watchface_complication_provider_timeinfo_set_timezone_country_p(void);
+extern int ITc_watchface_complication_provider_timeinfo_set_timezone_city_p(void);
 extern int ITc_watchface_complication_provider_add_remove_update_requested_cb_p(void);
 extern int ITc_watchface_complication_provider_notify_update_p(void);
 extern int ITc_watchface_complication_provider_setup_get_context_p(void);
@@ -30,7 +35,6 @@ extern int ITc_watchface_complication_provider_setup_is_editing_p(void);
 extern int ITc_watchface_complication_provider_data_set_short_text_p(void);
 extern int ITc_watchface_complication_provider_data_set_long_text_p(void);
 extern int ITc_watchface_complication_provider_data_set_title_p(void);
-extern int ITc_watchface_complication_provider_data_set_timestamp_p(void);
 extern int ITc_watchface_complication_provider_data_set_image_path_p(void);
 extern int ITc_watchface_complication_provider_data_set_ranged_value_p(void);
 extern int ITc_watchface_complication_provider_data_set_icon_path_p(void);
@@ -44,6 +48,13 @@ extern int ITc_watchface_complication_provider_data_is_valid_p(void);
 
 extern void ITs_watchface_complication_startup(void);
 extern void ITs_watchface_complication_cleanup(void);
+extern int ITc_watchface_complication_data_get_timeinfo_p(void);
+extern int ITc_watchface_complication_timeinfo_get_timezone_p(void);
+extern int ITc_watchface_complication_timeinfo_get_timezone_id_p(void);
+extern int ITc_watchface_complication_timeinfo_get_timezone_country_p(void);
+extern int ITc_watchface_complication_timeinfo_get_timezone_city_p(void);
+extern int ITc_watchface_complication_timeinfo_get_timestamp_p(void);
+extern int ITc_watchface_complication_timeinfo_destroy_p(void);
 extern int ITc_watchface_complication_get_current_provider_id_p(void);
 extern int ITc_watchface_complication_get_current_type_p(void);
 extern int ITc_watchface_complication_create_destroy_p(void);
@@ -51,7 +62,6 @@ extern int ITc_watchface_complication_data_get_type_p(void);
 extern int ITc_watchface_complication_data_get_long_text_p(void);
 extern int ITc_watchface_complication_data_get_short_text_p(void);
 extern int ITc_watchface_complication_data_get_title_p(void);
-extern int ITc_watchface_complication_data_get_timestamp_p(void);
 extern int ITc_watchface_complication_data_get_image_path_p(void);
 extern int ITc_watchface_complication_data_get_ranged_value_p(void);
 extern int ITc_watchface_complication_data_get_icon_path_p(void);
@@ -84,6 +94,12 @@ extern int ITc_watchface_editable_highlight_set_get_shape_type_p(void);
 extern int ITc_watchface_editable_highlight_create_destroy_p(void);
 
 testcase tc_array[] = {
+       {"ITc_watchface_complication_provider_timeinfo_create_destroy_p", ITc_watchface_complication_provider_timeinfo_create_destroy_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
+       {"ITc_watchface_complication_provider_data_set_timeinfo_p", ITc_watchface_complication_provider_data_set_timeinfo_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
+       {"ITc_watchface_complication_provider_timeinfo_set_timezone_p", ITc_watchface_complication_provider_timeinfo_set_timezone_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
+       {"ITc_watchface_complication_provider_timeinfo_set_timezone_id_p", ITc_watchface_complication_provider_timeinfo_set_timezone_id_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
+       {"ITc_watchface_complication_provider_timeinfo_set_timezone_country_p", ITc_watchface_complication_provider_timeinfo_set_timezone_country_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
+       {"ITc_watchface_complication_provider_timeinfo_set_timezone_city_p", ITc_watchface_complication_provider_timeinfo_set_timezone_city_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_add_remove_update_requested_cb_p", ITc_watchface_complication_provider_add_remove_update_requested_cb_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_notify_update_p", ITc_watchface_complication_provider_notify_update_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_setup_reply_to_editor_p", ITc_watchface_complication_provider_setup_reply_to_editor_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
@@ -92,7 +108,6 @@ testcase tc_array[] = {
        {"ITc_watchface_complication_provider_data_set_short_text_p", ITc_watchface_complication_provider_data_set_short_text_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_long_text_p", ITc_watchface_complication_provider_data_set_long_text_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_title_p", ITc_watchface_complication_provider_data_set_title_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
-       {"ITc_watchface_complication_provider_data_set_timestamp_p", ITc_watchface_complication_provider_data_set_timestamp_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_image_path_p", ITc_watchface_complication_provider_data_set_image_path_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_ranged_value_p", ITc_watchface_complication_provider_data_set_ranged_value_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_icon_path_p", ITc_watchface_complication_provider_data_set_icon_path_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
@@ -103,14 +118,19 @@ testcase tc_array[] = {
        {"ITc_watchface_complication_provider_event_get_context_p", ITc_watchface_complication_provider_event_get_context_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_set_screen_reader_text_p", ITc_watchface_complication_provider_data_set_screen_reader_text_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
        {"ITc_watchface_complication_provider_data_is_valid_p", ITc_watchface_complication_provider_data_is_valid_p, ITs_watchface_complication_provider_startup, ITs_watchface_complication_provider_cleanup},
-
+       {"ITc_watchface_complication_data_get_timeinfo_p", ITc_watchface_complication_data_get_timeinfo_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_get_timezone_p", ITc_watchface_complication_timeinfo_get_timezone_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_get_timezone_id_p", ITc_watchface_complication_timeinfo_get_timezone_id_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_get_timezone_country_p", ITc_watchface_complication_timeinfo_get_timezone_country_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_get_timezone_city_p", ITc_watchface_complication_timeinfo_get_timezone_city_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_get_timestamp_p", ITc_watchface_complication_timeinfo_get_timestamp_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
+       {"ITc_watchface_complication_timeinfo_destroy_p", ITc_watchface_complication_timeinfo_destroy_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_get_current_provider_id_p", ITc_watchface_complication_get_current_provider_id_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_get_current_type_p", ITc_watchface_complication_get_current_type_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_create_destroy_p", ITc_watchface_complication_create_destroy_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_type_p", ITc_watchface_complication_data_get_type_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_long_text_p", ITc_watchface_complication_data_get_long_text_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_short_text_p", ITc_watchface_complication_data_get_short_text_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
-       {"ITc_watchface_complication_data_get_timestamp_p", ITc_watchface_complication_data_get_timestamp_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_image_path_p", ITc_watchface_complication_data_get_image_path_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_ranged_value_p", ITc_watchface_complication_data_get_ranged_value_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_icon_path_p", ITc_watchface_complication_data_get_icon_path_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
@@ -123,7 +143,6 @@ testcase tc_array[] = {
        {"ITc_watchface_complication_add_update_remove_updated_cb_p", ITc_watchface_complication_add_update_remove_updated_cb_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_data_get_screen_reader_text_p", ITc_watchface_complication_data_get_screen_reader_text_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
        {"ITc_watchface_complication_transfer_event_p", ITc_watchface_complication_transfer_event_p, ITs_watchface_complication_startup, ITs_watchface_complication_cleanup},
-
        {"ITc_watchface_editable_candidates_list_create_add_destroy_p", ITc_watchface_editable_candidates_list_create_add_destroy_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
        {"ITc_watchface_editable_add_complication_p", ITc_watchface_editable_add_complication_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
        {"ITc_watchface_editable_get_nth_data_p", ITc_watchface_editable_get_nth_data_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
@@ -140,7 +159,6 @@ testcase tc_array[] = {
        {"ITc_watchface_editable_set_get_geometry_p", ITc_watchface_editable_set_get_geometry_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
        {"ITc_watchface_editable_highlight_set_get_shape_type_p", ITc_watchface_editable_highlight_set_get_shape_type_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
        {"ITc_watchface_editable_highlight_create_destroy_p", ITc_watchface_editable_highlight_create_destroy_p, ITs_watchface_editable_startup, ITs_watchface_editable_cleanup},
-
        {NULL, NULL}
 };