Merge "[Cherry-pick] Refactor WrapShape classes to BasicShape" into tizen_2.1
[framework/web/webkit-efl.git] / TC / unit_test / webkit2 / utc_webkit2_ewk_view_inspector_server_start_func.c
1         /*\r
2  * WebKit EFL\r
3  *\r
4  * Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
5  *\r
6  * This library is free software; you can redistribute it and/or modify it under\r
7  * the terms of the GNU Lesser General Public License as published by the\r
8  * Free Software Foundation; either version 2.1 of the License, or (at your option)\r
9  * any later version.\r
10  *\r
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY\r
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
13  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public\r
14  * License for more details.\r
15  *\r
16  * You should have received a copy of the GNU Lesser General Public License\r
17  * along with this library; if not, write to the Free Software Foundation, Inc., 51\r
18  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\r
19  *\r
20  */\r
21 \r
22 /* Define those macros _before_ you include the utc_webkit_ewk.h header file. */\r
23 #define TESTED_FUN_NAME ewk_view_inspector_server_start\r
24 #define POSITIVE_TEST_FUN_NUM 2\r
25 #define NEGATIVE_TEST_FUN_NUM 2 \r
26 \r
27 #include "utc_webkit2_ewk.h"\r
28 \r
29 #define SAMPLE_HTML_FILE       ("/common/sample.html")\r
30 \r
31 /* Load URL function */\r
32 static void loadURL(const char* url)\r
33 {\r
34     char* full_path = generate_full_resource_path(url);\r
35     if (!full_path)\r
36         utc_fail();\r
37 \r
38     Eina_Bool result = ewk_view_url_set(test_view.webview, full_path);\r
39     free(full_path);\r
40 \r
41     if (!result)\r
42         utc_fail();\r
43 }\r
44 \r
45 /*Load Finished Callback */\r
46 static void loadFinished(void *data, Evas_Object *webview, void *arg)\r
47 {\r
48     utc_message("[loadFinished] :: \n");\r
49     utc_webkit2_main_loop_quit();\r
50 }\r
51 \r
52 /*Load Error Callback */\r
53 static void loadError(void *data, Evas_Object *webview, void *arg)\r
54 {\r
55    utc_message("[loadError] :: \n");\r
56    utc_webkit2_main_loop_quit();\r
57   \r
58    utc_fail();\r
59 }\r
60 \r
61 \r
62 /* Startup and cleanup functions */\r
63 static void startup(void)\r
64 {\r
65     utc_webkit2_ewk_test_init();\r
66     evas_object_smart_callback_add(test_view.webview, "load,finished", loadFinished, NULL);\r
67     evas_object_smart_callback_add(test_view.webview, "load,error", loadError, NULL);\r
68 }\r
69 \r
70 static void cleanup(void)\r
71 {\r
72     evas_object_smart_callback_del(test_view.webview, "load,finished", loadFinished);\r
73     evas_object_smart_callback_del(test_view.webview, "load,error", loadError);\r
74     utc_webkit2_ewk_test_end();\r
75     ewk_view_inspector_server_stop(test_view.webview);\r
76 }\r
77 \r
78 /*\r
79  * @brief Positive test case checking if server can be started on a free port.\r
80  */\r
81 POS_TEST_FUN(1)\r
82 {\r
83     int port;\r
84     port = ewk_view_inspector_server_start(test_view.webview,0);\r
85     utc_check_eq(port, 0);\r
86 }\r
87 \r
88 \r
89 /*\r
90  * @brief Positive test case checking if a new port can be assigned\r
91  */\r
92 POS_TEST_FUN(2)\r
93 {\r
94     ewk_view_inspector_server_stop(test_view.webview);\r
95 \r
96     loadURL(SAMPLE_HTML_FILE);\r
97     utc_webkit2_main_loop_begin();\r
98     \r
99     int port;\r
100     int test_port = 11259;\r
101     port = ewk_view_inspector_server_start(test_view.webview,test_port);\r
102     utc_check_eq(port, test_port);\r
103 \r
104  }\r
105 \r
106 /*\r
107  * @brief Negative test case checking if a server can be started on the same port.\r
108  */\r
109 NEG_TEST_FUN(1)\r
110 {\r
111     int port;\r
112     ewk_view_inspector_server_stop(test_view.webview);\r
113     port = ewk_view_inspector_server_start(test_view.webview,0);\r
114     port = ewk_view_inspector_server_start(test_view.webview,port);\r
115     utc_check_eq(port, 0);\r
116 }\r
117 \r
118 /*\r
119  * @brief Negative test case checking if a server can be started while one is running.\r
120  */\r
121 NEG_TEST_FUN(2)\r
122 {\r
123     int port;\r
124     port = ewk_view_inspector_server_start(test_view.webview,0);\r
125     utc_check_eq(port, 0);\r
126 }\r
127 \r