2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <glib-object.h>
22 static void startup(void);
23 static void cleanup(void);
25 void (*tet_startup)(void) = startup;
26 void (*tet_cleanup)(void) = cleanup;
28 static void utc_download_start_positive1(void);
30 struct tet_testlist tet_testlist[] = {
31 {utc_download_start_positive1, 1},
35 //static url_download_h handle = NULL;
36 static GMainLoop* gloop = NULL;
37 static int is_download_success = true;
39 #define TEST_URL "http://static.campaign.naver.com/0/hangeul/2011/img/img_family.gif"
40 //#define TEST_URL "http://cdn.naver.com/naver/NanumFont/setup/NanumFontSetup_TTF_GOTHICLIGHT_hangeulcamp.exe"
42 static void state_cb (int download_id, download_state_e state, void *user_data)
44 const char *TC_NAME = __FUNCTION__;
46 download_error_e err = DOWNLOAD_ERROR_NONE;
47 if (state == DOWNLOAD_STATE_COMPLETED || state == DOWNLOAD_STATE_DOWNLOADING) {
48 is_download_success = true;
49 g_main_loop_quit(gloop);
51 is_download_success = false;
53 retcode = download_get_error(download_id, &err);
54 if (retcode != DOWNLOAD_ERROR_NONE) {
55 dts_fail(TC_NAME, "Fail to get error");
56 g_main_loop_quit(gloop);
59 dts_message(TC_NAME, "err[%d]", err);
60 if (err == DOWNLOAD_ERROR_INVALID_URL)
61 dts_message(TC_NAME, "invaild url err");
63 dts_message(TC_NAME, "another error[%d]", err);
66 static void startup(void)
69 gloop = g_main_loop_new (NULL, 0);
70 is_download_success = true;
73 static void cleanup(void)
75 is_download_success = false;
76 g_main_loop_unref(gloop);
80 static void utc_download_start_positive1(void)
82 const char *TC_NAME = __FUNCTION__;
86 retcode = download_create(&id);
87 if (retcode != DOWNLOAD_ERROR_NONE) {
88 dts_fail(TC_NAME,"Fail to create download handle");
91 retcode = download_set_url(id, TEST_URL);
92 if ( retcode != DOWNLOAD_ERROR_NONE ) {
93 dts_fail(TC_NAME,"Fail to set url");
96 retcode = download_set_state_changed_cb(id, state_cb, NULL);
97 if (retcode != DOWNLOAD_ERROR_NONE)
98 dts_fail(TC_NAME, "Fail to set callback");
100 retcode = download_start(id);
102 if (retcode == DOWNLOAD_ERROR_NONE)
103 g_main_loop_run(gloop);
105 is_download_success = false;
107 retcode = download_unset_state_changed_cb(id);
108 if ( retcode != DOWNLOAD_ERROR_NONE )
109 dts_message(TC_NAME,"Fail to unset callback");
110 download_destroy(id);
112 if (is_download_success)
113 dts_pass(TC_NAME, "download content is success");
115 dts_fail(TC_NAME, "download content is not success");