~jbicha/hud/build-depend-on-valac-not-gir

« back to all changes in this revision

Viewing changes to tests/test-result-highlighting.c

  • Committer: Tarmac
  • Author(s): Ted Gould, Pete Woods, Antti Kaijanmäki, Ted Gould, Albert Astals, Ryan Lortie, Łukasz 'sil2100' Zemczak, Albert Astals Cid, Mathieu Trudel-Lapierre, Kaleo, Tarmac, Ricardo Salveti de Araujo, Michael Terry, Automatic PS uploader
  • Date: 2013-04-10 16:04:51 UTC
  • mfrom: (227.3.148 phablet)
  • Revision ID: tarmac-20130410160451-o3owpv3zaxulm5of
HUD 2.0 Merge.

Approved by PS Jenkins bot, Mathieu Trudel-Lapierre.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
#include <string.h>
23
23
 
 
24
#include "hudstringlist.h"
24
25
#include "hudresult.h"
25
26
#include "hudsettings.h"
26
27
 
36
37
        .max_distance = 30
37
38
};
38
39
 
39
 
static HudStringList*
40
 
add_item_to_hud_string_list (const gchar *item, HudStringList *stringlist)
41
 
{
42
 
        HudStringList *new_list = hud_string_list_cons (item, stringlist);
43
 
        hud_string_list_unref (stringlist);
44
 
        return new_list;
45
 
}
46
 
 
47
40
static void
48
41
test_result_highlighting_base (void)
49
42
{
51
44
        HudStringList *item_tokens;
52
45
        HudTokenList *search_tokens;
53
46
        
54
 
        item_tokens = add_item_to_hud_string_list ("foo", NULL);
55
 
        item_tokens = add_item_to_hud_string_list ("bar", item_tokens);
56
 
        item_tokens = add_item_to_hud_string_list ("mango", item_tokens);
 
47
        item_tokens = hud_string_list_add_item ("foo", NULL);
 
48
        item_tokens = hud_string_list_add_item ("bar", item_tokens);
 
49
        item_tokens = hud_string_list_add_item ("mango", item_tokens);
57
50
        
58
51
        search_tokens = hud_token_list_new_from_string ("bar");
59
52
        
60
 
        item = hud_item_new (item_tokens, NULL, NULL, TRUE);
 
53
        item = hud_item_new (item_tokens, NULL, NULL, NULL, NULL, NULL, TRUE);
61
54
 
62
55
        HudResult *result = hud_result_new (item, search_tokens, 0);
63
56
        
64
 
        g_assert (strcmp (hud_result_get_html_description (result), "foo &gt; <b>bar</b> &gt; mango") == 0);
 
57
        g_assert_cmpstr (hud_result_get_html_description (result), ==, "foo &gt; <b>bar</b> &gt; mango");
65
58
        
66
59
        hud_token_list_free (search_tokens);
67
60
        g_object_unref (result);
78
71
        HudStringList *item_tokens;
79
72
        HudTokenList *search_tokens;
80
73
        
81
 
        item_tokens = add_item_to_hud_string_list ("foo", NULL);
82
 
        item_tokens = add_item_to_hud_string_list ("ẃêỳᶉ∂", item_tokens);
83
 
        item_tokens = add_item_to_hud_string_list ("mango", item_tokens);
 
74
        item_tokens = hud_string_list_add_item ("foo", NULL);
 
75
        item_tokens = hud_string_list_add_item ("ẃêỳᶉ∂", item_tokens);
 
76
        item_tokens = hud_string_list_add_item ("mango", item_tokens);
84
77
        
85
78
        search_tokens = hud_token_list_new_from_string ("ẃêỳᶉ∂");
86
79
        
87
 
        item = hud_item_new (item_tokens, NULL, NULL, TRUE);
 
80
        item = hud_item_new (item_tokens, NULL, NULL, NULL, NULL, NULL, TRUE);
88
81
 
89
82
        HudResult *result = hud_result_new (item, search_tokens, 0);
90
83
        
91
 
        g_assert (strcmp (hud_result_get_html_description (result), "foo &gt; <b>ẃêỳᶉ∂</b> &gt; mango") == 0);
 
84
        g_assert_cmpstr (hud_result_get_html_description (result), ==, "foo &gt; <b>ẃêỳᶉ∂</b> &gt; mango");
92
85
        
93
86
        hud_token_list_free (search_tokens);
94
87
        g_object_unref (result);
99
92
}
100
93
 
101
94
static void
 
95
test_result_highlighting_extra_keywords (void)
 
96
{
 
97
  HudItem *item;
 
98
  HudStringList *item_tokens, *item_keywords;
 
99
  HudTokenList *search_tokens;
 
100
 
 
101
  item_tokens = hud_string_list_add_item ("File", NULL);
 
102
  item_tokens = hud_string_list_add_item ("Open Tab", item_tokens);
 
103
 
 
104
  item_keywords = hud_string_list_add_item ("Gimme a Tab Bro", NULL);
 
105
  item_keywords = hud_string_list_add_item ("Giv Tab Plz", item_keywords);
 
106
 
 
107
  search_tokens = hud_token_list_new_from_string ("plz");
 
108
 
 
109
  item = hud_item_new (item_tokens, item_keywords, NULL, NULL, NULL, NULL, TRUE);
 
110
 
 
111
  HudResult *result = hud_result_new (item, search_tokens, 0);
 
112
  g_assert_cmpstr (hud_result_get_html_description (result), ==, "File &gt; Open Tab (Giv Tab <b>Plz</b>)");
 
113
 
 
114
  hud_token_list_free (search_tokens);
 
115
  g_object_unref (result);
 
116
  g_object_unref (item);
 
117
  hud_string_list_unref (item_tokens);
 
118
  hud_string_list_unref (item_keywords);
 
119
 
 
120
  return;
 
121
}
 
122
 
 
123
static void
 
124
test_result_highlighting_extra_keywords_multiple_hits (void)
 
125
{
 
126
  HudItem *item;
 
127
  HudStringList *item_tokens, *item_keywords;
 
128
  HudTokenList *search_tokens;
 
129
 
 
130
  item_tokens = hud_string_list_add_item ("File", NULL);
 
131
  item_tokens = hud_string_list_add_item ("Open Tab", item_tokens);
 
132
 
 
133
  item_keywords = hud_string_list_add_item ("Gimme a Tab Bro", NULL);
 
134
  item_keywords = hud_string_list_add_item ("Giv Tab Plz", item_keywords);
 
135
 
 
136
  search_tokens = hud_token_list_new_from_string ("bro plz");
 
137
 
 
138
  item = hud_item_new (item_tokens, item_keywords, NULL, NULL, NULL, NULL, TRUE);
 
139
 
 
140
  HudResult *result = hud_result_new (item, search_tokens, 0);
 
141
  g_assert_cmpstr(hud_result_get_html_description (result), ==, "File &gt; Open Tab (Gimme a Tab <b>Bro</b>; Giv Tab <b>Plz</b>)");
 
142
 
 
143
  hud_token_list_free (search_tokens);
 
144
  g_object_unref (result);
 
145
  g_object_unref (item);
 
146
  hud_string_list_unref (item_tokens);
 
147
  hud_string_list_unref (item_keywords);
 
148
 
 
149
  return;
 
150
}
 
151
 
 
152
static void
102
153
test_result_highlighting_gt (void)
103
154
{
104
155
        HudItem *item;
105
156
        HudStringList *item_tokens;
106
157
        HudTokenList *search_tokens;
107
158
        
108
 
        item_tokens = add_item_to_hud_string_list ("foo", NULL);
109
 
        item_tokens = add_item_to_hud_string_list ("bar", item_tokens);
110
 
        item_tokens = add_item_to_hud_string_list ("gt", item_tokens);
 
159
        item_tokens = hud_string_list_add_item ("foo", NULL);
 
160
        item_tokens = hud_string_list_add_item ("bar", item_tokens);
 
161
        item_tokens = hud_string_list_add_item ("gt", item_tokens);
111
162
        
112
163
        search_tokens = hud_token_list_new_from_string ("gt");
113
164
        
114
 
        item = hud_item_new (item_tokens, NULL, NULL, TRUE);
 
165
        item = hud_item_new (item_tokens, NULL, NULL, NULL, NULL, NULL, TRUE);
115
166
 
116
167
        HudResult *result = hud_result_new (item, search_tokens, 0);
117
 
        g_assert (strcmp (hud_result_get_html_description (result), "foo &gt; bar &gt; <b>gt</b>") == 0);
 
168
        g_assert_cmpstr (hud_result_get_html_description (result), ==, "foo &gt; bar &gt; <b>gt</b>");
118
169
        
119
170
        hud_token_list_free (search_tokens);
120
171
        g_object_unref (result);
131
182
        HudStringList *item_tokens;
132
183
        HudTokenList *search_tokens;
133
184
 
134
 
        item_tokens = add_item_to_hud_string_list ("d'interes", NULL);
135
 
        item_tokens = add_item_to_hud_string_list ("a", item_tokens);
 
185
        item_tokens = hud_string_list_add_item ("d'interes", NULL);
 
186
        item_tokens = hud_string_list_add_item ("a", item_tokens);
136
187
 
137
188
        search_tokens = hud_token_list_new_from_string ("d'in");
138
189
 
139
 
        item = hud_item_new (item_tokens, NULL, NULL, TRUE);
 
190
        item = hud_item_new (item_tokens, NULL, NULL, NULL, NULL, NULL, TRUE);
140
191
 
141
192
        HudResult *result = hud_result_new (item, search_tokens, 0);
142
 
        g_assert (strcmp (hud_result_get_html_description (result), "<b>d&apos;interes</b> &gt; a") == 0);
 
193
        g_assert_cmpstr (hud_result_get_html_description (result), ==, "<b>d&apos;interes</b> &gt; a");
143
194
 
144
195
        hud_token_list_free (search_tokens);
145
196
        g_object_unref (result);
156
207
        HudStringList *item_tokens;
157
208
        HudTokenList *search_tokens;
158
209
 
159
 
        item_tokens = add_item_to_hud_string_list ("d'interes", NULL);
160
 
        item_tokens = add_item_to_hud_string_list ("a", item_tokens);
 
210
        item_tokens = hud_string_list_add_item ("d'interes", NULL);
 
211
        item_tokens = hud_string_list_add_item ("a", item_tokens);
161
212
 
162
213
        search_tokens = hud_token_list_new_from_string ("a");
163
214
 
164
 
        item = hud_item_new (item_tokens, NULL, NULL, TRUE);
 
215
        item = hud_item_new (item_tokens, NULL, NULL, NULL, NULL, NULL, TRUE);
165
216
 
166
217
        HudResult *result = hud_result_new (item, search_tokens, 0);
167
 
        g_assert (strcmp (hud_result_get_html_description (result), "d&apos;interes &gt; <b>a</b>") == 0);
 
218
        g_assert_cmpstr (hud_result_get_html_description (result), ==, "d&apos;interes &gt; <b>a</b>");
168
219
 
169
220
        hud_token_list_free (search_tokens);
170
221
        g_object_unref (result);
180
231
{
181
232
        g_test_add_func ("/hud/highlighting/base",          test_result_highlighting_base);
182
233
        g_test_add_func ("/hud/highlighting/baseutf8",      test_result_highlighting_baseutf8);
 
234
        g_test_add_func ("/hud/highlighting/extra_keywords",test_result_highlighting_extra_keywords);
 
235
        g_test_add_func ("/hud/highlighting/extra_keywords_multiple_hits",test_result_highlighting_extra_keywords_multiple_hits);
183
236
        g_test_add_func ("/hud/highlighting/gt",            test_result_highlighting_gt);
184
237
        g_test_add_func ("/hud/highlighting/apos1",         test_result_highlighting_apos1);
185
238
        g_test_add_func ("/hud/highlighting/apos2",         test_result_highlighting_apos2);
189
242
gint
190
243
main (gint argc, gchar * argv[])
191
244
{
192
 
        //gtk_init(&argc, &argv);
 
245
#ifndef GLIB_VERSION_2_36
 
246
        g_type_init ();
 
247
#endif
 
248
 
193
249
        g_test_init(&argc, &argv, NULL);
194
250
 
195
251
        /* Test suites */