2 * This file is a part of hildon tests
4 * Copyright (C) 2006, 2007 Nokia Corporation, all rights reserved.
6 * Contact: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; version 2.1 of
11 * the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
27 #include <gtk/gtkmain.h>
28 #include "test_suites.h"
29 #include "check_utils.h"
30 #include "hildon-name-password-dialog.h"
31 #include "hildon-window.h"
33 /* -------------------- Fixtures -------------------- */
35 static HildonNamePasswordDialog *name_password_dialog = NULL;
36 static GtkWindow * npd_window = NULL;
39 fx_setup_default_name_password_dialog ()
43 gtk_init(&argc, NULL);
45 npd_window = GTK_WINDOW(create_test_window());
47 /* Check window object has been created properly */
48 fail_if(!HILDON_IS_WINDOW(npd_window),
49 "hildon-name-password-dialog: Window creation failed.");
51 name_password_dialog = HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new(npd_window));
52 /* Check that the name password dialog object has been created properly */
53 fail_if (!HILDON_IS_NAME_PASSWORD_DIALOG (name_password_dialog),
54 "hildon-name-password-dialog: Creation failed.");
56 show_test_window(GTK_WIDGET(npd_window));
58 show_test_window(GTK_WIDGET(name_password_dialog));
63 fx_teardown_default_name_password_dialog ()
65 gtk_widget_destroy (GTK_WIDGET(name_password_dialog));
67 gtk_widget_destroy (GTK_WIDGET(npd_window));
70 /* -------------------- Test cases -------------------- */
72 /* ----- Test case for new_with_default -----*/
75 * Purpose: Check that regular name and password values are correctly added by default on creation.
77 * - Create new name and password dialog with "test_name" and "test_password" by default.
78 * - Create new name and password dialog with "0123456789" and "123412341234" by default.
79 * - Create new name and password dialog with TEST_STRING and TEST_STRING by default.
80 * - Create new name and password dialog with "" and "" by default.
82 START_TEST (test_new_with_default_regular)
84 const gchar * default_name="test_name";
85 const gchar * default_password="test_password";
86 const gchar * ret_name;
87 const gchar * ret_password;
88 HildonNamePasswordDialog * default_name_password_dialog=NULL;
90 /* Check that the name password dialog object has been created properly */
91 fail_if (!HILDON_IS_NAME_PASSWORD_DIALOG (name_password_dialog),
92 "hildon-name-password-dialog: Creation failed.");
93 fail_if (!GTK_IS_WINDOW (npd_window),
94 "hildon-name-password-dialog: Window creation failed.");
96 /* Test 1: Create new dialog with username and password by default */
97 default_name_password_dialog =
98 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window, default_name, default_password));
99 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
100 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
102 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
103 fail_if (strcmp (default_name,ret_name) != 0,
104 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)",default_name,ret_name);
106 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
107 fail_if (strcmp (default_password,ret_password) != 0,
108 "hildon-name-password-dialog: Default password and returned password are diferent (%s,%s)",default_password,ret_password);
110 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
111 default_name_password_dialog=NULL;
113 /* Test 2: Create new dialog with username and password by default */
114 default_name = "0123456789";
115 default_password = "123412341234";
117 default_name_password_dialog =
118 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window, default_name, default_password));
119 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
120 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
122 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
123 fail_if (strcmp (default_name,ret_name) != 0,
124 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)", default_name, ret_name);
126 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
127 fail_if (strcmp (default_password,ret_password) != 0,
128 "hildon-name-password-dialog: Default password and returned password are diferent (%s,%s)", default_password, ret_password);
130 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
132 /* Test 3: Create new dialog with invalid username and password by default. */
133 default_name = TEST_STRING;
134 default_password = TEST_STRING;
136 default_name_password_dialog =
137 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window,default_name,default_password));
139 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
140 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
142 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
143 fail_if (strcmp (default_name,ret_name) != 0,
144 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)",default_name,ret_name);
146 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
147 fail_if (strcmp (default_password,ret_password) != 0,
148 "hildon-name-password-dialog: Default password and returned password are diferent (%s,%s)",default_password,ret_password);
150 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
152 /* Test 4: Create new dialog with empty username and password by default. */
154 default_password = "";
156 default_name_password_dialog =
157 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window,default_name,default_password));
159 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
160 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
162 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
163 fail_if (strcmp (default_name,ret_name) != 0,
164 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)",default_name,ret_name);
166 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
167 fail_if (strcmp (default_password,ret_password) != 0,
168 "hildon-name-password-dialog: Default password and returned password are diferent (%s,%s)",default_password,ret_password);
171 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
177 * Purpose: Check that regular name and password values are correctly added by default on creation.
179 * - Create a name and password dialog with NULL name.
180 * - Create a name and password dialog with NULL password.
182 START_TEST (test_new_with_default_invalid)
184 const gchar * default_name="test_name";
185 const gchar * default_password="test_password";
186 const gchar * ret_name;
187 const gchar * ret_password;
188 HildonNamePasswordDialog * default_name_password_dialog;
190 /* Check that the name password dialog object has been created properly */
191 fail_if (!HILDON_IS_NAME_PASSWORD_DIALOG (name_password_dialog),
192 "hildon-name-password-dialog: Creation failed.");
193 fail_if (!GTK_IS_WINDOW (npd_window),
194 "hildon-name-password-dialog: Window creation failed.");
196 /* Test 1: Create a name and password dialog with NULL name. */
197 default_name_password_dialog =
198 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window,NULL,default_password));
200 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
201 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
203 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
204 fail_if (strcmp ("",ret_name) != 0,
205 "hildon-name-password-dialog: Default name and returned name are diferent (,%s)",ret_name);
207 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
208 fail_if (strcmp (default_password,ret_password) != 0,
209 "hildon-name-password-dialog: Default password and returned password are diferent (%s,%s)",default_password,ret_password);
211 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
213 /* Test 2: Create a name and password dialog with NULL name. */
214 default_name_password_dialog =
215 HILDON_NAME_PASSWORD_DIALOG(hildon_name_password_dialog_new_with_default(npd_window,default_name,NULL));
217 fail_if(!HILDON_IS_NAME_PASSWORD_DIALOG(default_name_password_dialog),
218 "hildon-name-password-dialog: Creation failed with hildon_name_password_dialog_new_with_default");
220 ret_name = hildon_name_password_dialog_get_name(default_name_password_dialog);
221 fail_if (strcmp (default_name,ret_name) != 0,
222 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)",default_name,ret_name);
224 ret_password = hildon_name_password_dialog_get_password(default_name_password_dialog);
225 fail_if (strcmp ("",ret_password) != 0,
226 "hildon-name-password-dialog: Default password and returned password are diferent (,%s)",ret_password);
228 gtk_widget_destroy (GTK_WIDGET(default_name_password_dialog));
233 /* ----- Test case for get_name -----*/
236 * Purpose: Check that regular name and password values are correctly added by default on creation.
238 * - Get name "test_name" set by g_object_set_property.
239 * - Get name "0123456789" set by g_object_set_property.
240 * - Get name TEST_STRING set by g_object_set_property.
242 START_TEST (test_get_name_regular)
244 const gchar * default_name="test_name";
245 const gchar * ret_name;
248 /* Check that the name password dialog object has been created properly */
249 fail_if (!HILDON_IS_NAME_PASSWORD_DIALOG (name_password_dialog),
250 "hildon-name-password-dialog: Creation failed.");
251 fail_if (!GTK_IS_WINDOW (npd_window),
252 "hildon-name-password-dialog: Window creation failed.");
254 g_value_init (&value, G_TYPE_STRING);
255 g_value_set_string(&value, default_name);
256 g_object_set_property(G_OBJECT(name_password_dialog), "name", &value);
257 g_value_unset (&value);
259 /* Test 1: Get name "test_name" set by g_object_set_property. */
260 ret_name = hildon_name_password_dialog_get_name(name_password_dialog);
262 fail_if (strcmp(default_name, ret_name) != 0,
263 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)", default_name, ret_name);
265 /* Test 2: Get name "0123456789" set by g_object_set_property. */
266 default_name = "0123456789";
268 g_value_init (&value, G_TYPE_STRING);
269 g_value_set_string(&value,default_name);
270 g_object_set_property(G_OBJECT(name_password_dialog), "name", &value);
271 g_value_unset (&value);
273 ret_name = hildon_name_password_dialog_get_name(name_password_dialog);
274 fail_if (strcmp (default_name,ret_name) != 0,
275 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)", default_name, ret_name);
277 /* Test 3: Get name TEST_STRING set by g_object_set_property. */
278 default_name=TEST_STRING;
280 g_value_init (&value, G_TYPE_STRING);
281 g_value_set_string(&value,default_name);
282 g_object_set_property(G_OBJECT (name_password_dialog),"name",&value);
283 g_value_unset (&value);
285 ret_name = hildon_name_password_dialog_get_name(name_password_dialog);
286 fail_if (strcmp (default_name,ret_name) != 0,
287 "hildon-name-password-dialog: Default name and returned name are diferent (%s,%s)",default_name,ret_name);
293 * Purpose: Check that regular name and password values are correctly added by default on creation.
295 * - Get name on NULL object.
296 * - Get empty password set by g_object_set_property with NULL value.
299 START_TEST (test_get_name_invalid)
301 const gchar * default_name;
302 const gchar * ret_name;
305 /* Check that the name password dialog object has been created properly */
306 fail_if (!HILDON_IS_NAME_PASSWORD_DIALOG (name_password_dialog),
307 "hildon-name-password-dialog: Creation failed.");
308 fail_if (!GTK_IS_WINDOW (npd_window),
309 "hildon-name-password-dialog: Window creation failed.");
311 /* Test 1: Get name on NULL object. */
312 ret_name = hildon_name_password_dialog_get_name(NULL);
315 /* Test 2: Get name NULL set by g_object_set_property. */
317 g_value_init (&value, G_TYPE_STRING);
318 g_value_set_string(&value,default_name);
319 g_object_set_property(G_OBJECT (name_password_dialog),"name",&value);
320 g_value_unset (&value);
322 ret_name = hildon_name_password_dialog_get_name(name_password_dialog);
324 fail_if (strcmp ("",ret_name) != 0,
325 "hildon-name-password-dialog: Default name and returned name are diferent (,%s)",ret_name);
330 /* ---------- Suite creation ---------- */
332 Suite *create_hildon_name_password_dialog_suite()
334 /* Create the suite */
335 Suite *s = suite_create("HildonNamePasswordDialog");
337 /* Create test cases */
338 TCase *tc1 = tcase_create("new_with_default");
339 TCase *tc2 = tcase_create("get_name");
341 /* Create unit tests for hildon_name_password_dialog_new_with_default and add it to the suite */
342 tcase_add_checked_fixture(tc1, fx_setup_default_name_password_dialog, fx_teardown_default_name_password_dialog);
343 tcase_add_test(tc1, test_new_with_default_regular);
344 tcase_add_test(tc1, test_new_with_default_invalid);
345 suite_add_tcase (s, tc1);
347 /* Create unit tests for hildon_name_password_dialog_get_name and add it to the suite */
348 tcase_add_checked_fixture(tc2, fx_setup_default_name_password_dialog, fx_teardown_default_name_password_dialog);
349 tcase_add_test(tc2, test_get_name_regular);
350 tcase_add_test(tc2, test_get_name_invalid);
351 suite_add_tcase (s, tc2);
353 /* Return created suite */