Update contrib.
1 /* Portion Copyright © 2008-09 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.*/
2 #undef G_DISABLE_ASSERT
11 #include "mrt2_glib2_test.h"
21 compare_collate (const void *a, const void *b)
23 const Line *line_a = a;
24 const Line *line_b = b;
26 return g_utf8_collate (line_a->str, line_b->str);
30 compare_key (const void *a, const void *b)
32 const Line *line_a = a;
33 const Line *line_b = b;
35 return strcmp (line_a->key, line_b->key);
38 gchar* sorted_res_arr[15] =
57 int main (int argc, char **argv)
61 gchar *srcdir = getenv ("srcdir");
67 g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL);
68 g_set_print_handler(mrtPrintHandler);
71 line_array = g_array_new (FALSE, FALSE, sizeof(Line));
76 testfile = g_strconcat (srcdir, G_DIR_SEPARATOR_S "casecollate.txt", NULL);
78 in = g_io_channel_new_file (testfile, "r", &error);
81 g_print("Cannot open %s: %s\n", testfile, error->message);
83 g_assert(FALSE && "unicode-collate failed");
86 testResultXml("unicode-collate");
100 if (g_io_channel_read_line (in, &str, NULL, &term_pos, &error) != G_IO_STATUS_NORMAL)
103 str[term_pos] = '\0';
105 line.key = g_utf8_collate_key (str, -1);
108 g_array_append_val (line_array, line);
113 g_print("Error reading test file, %s\n", error->message);
115 g_assert(FALSE && "unicode-collate failed");
118 testResultXml("unicode-collate");
119 #endif /* EMULATOR */
124 qsort (line_array->data, line_array->len, sizeof (Line), compare_collate);
125 for (i = 0; i < line_array->len; i++)
127 if(strcmp(sorted_res_arr[i], g_array_index (line_array, Line, i).str))
129 g_assert(FALSE && "compare_collate failed\n");
134 qsort (line_array->data, line_array->len, sizeof (Line), compare_key);
135 for (i = 0; i < line_array->len; i++)
137 if(strcmp(sorted_res_arr[i], g_array_index (line_array, Line, i).str))
139 g_assert(FALSE && "compare_key failed\n");
143 g_io_channel_unref (in);
146 testResultXml("unicode-collate");
147 #endif /* EMULATOR */