diff options
Diffstat (limited to 'glib2-static/MR1414.patch')
-rw-r--r-- | glib2-static/MR1414.patch | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/glib2-static/MR1414.patch b/glib2-static/MR1414.patch deleted file mode 100644 index 67da4f01c..000000000 --- a/glib2-static/MR1414.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/glib/tests/search-utils.c b/glib/tests/search-utils.c -index 54926d5a59aaff1719059cfd38c8c3b2c3fac4de..7478a290a9e393170042ea8a91c9531fd0c197b6 100644 ---- a/glib/tests/search-utils.c -+++ b/glib/tests/search-utils.c -@@ -7,74 +7,120 @@ typedef struct - { - const gchar *string; - const gchar *prefix; -+ const gchar *locale; - gboolean should_match; - } SearchTest; - -+/* Test word separators and case */ -+SearchTest basic[] = { -+ { "Hello World", "he", "C", TRUE }, -+ { "Hello World", "wo", "C", TRUE }, -+ { "Hello World", "lo", "C", FALSE }, -+ { "Hello World", "ld", "C", FALSE }, -+ { "Hello-World", "wo", "C", TRUE }, -+ { "HelloWorld", "wo", "C", FALSE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ -+/* Test composed chars (accentued letters) */ -+SearchTest composed[] = { -+ { "Jörgen", "jor", "sv_SE.UTF-8", TRUE }, -+ { "Gaëtan", "gaetan", "fr_FR.UTF-8", TRUE }, -+ { "élève", "ele", "fr_FR.UTF-8", TRUE }, -+ { "Azais", "AzaÏs", "fr_FR.UTF-8", FALSE }, -+ { "AzaÏs", "Azais", "fr_FR.UTF-8", TRUE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ -+/* Test decomposed chars, they looks the same, but are actually -+ * composed of multiple unicodes */ -+SearchTest decomposed[] = { -+ { "Jorgen", "Jör", "sv_SE.UTF-8", FALSE }, -+ { "Jörgen", "jor", "sv_SE.UTF-8", TRUE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ -+/* Turkish special case */ -+SearchTest turkish[] = { -+ { "İstanbul", "ist", "tr_TR.UTF-8", TRUE }, -+ { "Diyarbakır", "diyarbakir", "tr_TR.UTF-8", TRUE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ -+/* Test unicode chars when no locale is available */ -+SearchTest c_locale_unicode[] = { -+ { "Jörgen", "jor", "C", TRUE }, -+ { "Jorgen", "Jör", "C", FALSE }, -+ { "Jörgen", "jor", "C", TRUE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ -+/* Multi words */ -+SearchTest multi_words[] = { -+ { "Xavier Claessens", "Xav Cla", "C", TRUE }, -+ { "Xavier Claessens", "Cla Xav", "C", TRUE }, -+ { "Foo Bar Baz", " b ", "C", TRUE }, -+ { "Foo Bar Baz", "bar bazz", "C", FALSE }, -+ { NULL, NULL, NULL, FALSE } -+}; -+ - static void --test_search (void) -+test_search (gconstpointer d) - { -- SearchTest tests[] = -- { -- /* Test word separators and case */ -- { "Hello World", "he", TRUE }, -- { "Hello World", "wo", TRUE }, -- { "Hello World", "lo", FALSE }, -- { "Hello World", "ld", FALSE }, -- { "Hello-World", "wo", TRUE }, -- { "HelloWorld", "wo", FALSE }, -- -- /* Test composed chars (accentued letters) */ -- { "Jörgen", "jor", TRUE }, -- { "Gaëtan", "gaetan", TRUE }, -- { "élève", "ele", TRUE }, -- { "Azais", "AzaÏs", FALSE }, -- { "AzaÏs", "Azais", TRUE }, -- -- /* Test decomposed chars, they looks the same, but are actually -- * composed of multiple unicodes */ -- { "Jorgen", "Jör", FALSE }, -- { "Jörgen", "jor", TRUE }, -- -- /* Turkish special case */ -- { "İstanbul", "ist", TRUE }, -- { "Diyarbakır", "diyarbakir", TRUE }, -- -- /* Multi words */ -- { "Xavier Claessens", "Xav Cla", TRUE }, -- { "Xavier Claessens", "Cla Xav", TRUE }, -- { "Foo Bar Baz", " b ", TRUE }, -- { "Foo Bar Baz", "bar bazz", FALSE }, -- -- { NULL, NULL, FALSE } -- }; -+ const SearchTest *tests = d; - guint i; -- -- setlocale(LC_ALL, ""); -+ gboolean all_skipped = TRUE; - - g_debug ("Started"); -- for (i = 0; tests[i].string != NULL; i ++) -+ -+ for (i = 0; tests[i].string != NULL; i++) - { - gboolean match; - gboolean ok; -- -- match = g_str_match_string (tests[i].prefix, tests[i].string, TRUE); -- ok = (match == tests[i].should_match); -+ gboolean skipped; -+ -+ if (setlocale (LC_ALL, tests[i].locale)) -+ { -+ skipped = FALSE; -+ all_skipped = FALSE; -+ match = g_str_match_string (tests[i].prefix, tests[i].string, TRUE); -+ ok = (match == tests[i].should_match); -+ } -+ else -+ { -+ skipped = TRUE; -+ g_test_message ("Locale '%s' is unavailable", tests[i].locale); -+ } - - g_debug ("'%s' - '%s' %s: %s", tests[i].prefix, tests[i].string, - tests[i].should_match ? "should match" : "should NOT match", -- ok ? "OK" : "FAILED"); -+ skipped ? "SKIPPED" : ok ? "OK" : "FAILED"); - -- g_assert (ok); -+ g_assert (skipped || ok); - } -+ -+ if (all_skipped) -+ g_test_skip ("No locales for the test set are available"); - } - - int - main (int argc, - char **argv) - { -+ gchar *user_locale; -+ - g_test_init (&argc, &argv, NULL); - -- g_test_add_func ("/search", test_search); -+ setlocale (LC_ALL, ""); -+ user_locale = setlocale (LC_ALL, NULL); -+ g_debug ("Current user locale: %s", user_locale); -+ -+ g_test_add_data_func ("/search/basic", basic, test_search); -+ g_test_add_data_func ("/search/composed", composed, test_search); -+ g_test_add_data_func ("/search/decomposed", decomposed, test_search); -+ g_test_add_data_func ("/search/turkish", turkish, test_search); -+ g_test_add_data_func ("/search/c_locale_unicode", c_locale_unicode, test_search); -+ g_test_add_data_func ("/search/multi_words", multi_words, test_search); - - return g_test_run (); - } |