Merge lp:~ted/url-dispatcher/regex-domain-fix into lp:url-dispatcher/rtm-14.09

Proposed by Ted Gould
Status: Merged
Approved by: Charles Kerr
Approved revision: 85
Merged at revision: 77
Proposed branch: lp:~ted/url-dispatcher/regex-domain-fix
Merge into: lp:url-dispatcher/rtm-14.09
Diff against target: 56 lines (+30/-1)
2 files modified
service/dispatcher.c (+1/-1)
tests/dispatcher-test.cc (+29/-0)
To merge this branch: bzr merge lp:~ted/url-dispatcher/regex-domain-fix
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
Review via email: mp+244495@code.launchpad.net

Commit message

Fix domain handling in generic regular expression

To post a comment you must log in.
Revision history for this message
Charles Kerr (charlesk) wrote :

LGTM.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'service/dispatcher.c'
2--- service/dispatcher.c 2014-10-23 21:57:11 +0000
3+++ service/dispatcher.c 2014-12-11 19:02:27 +0000
4@@ -449,7 +449,7 @@
5
6 applicationre = g_regex_new("^application:///([a-zA-Z0-9_\\.-]*)\\.desktop$", 0, 0, NULL);
7 appidre = g_regex_new("^appid://([a-z0-9\\.-]*)/([a-zA-Z0-9-]*)/([a-zA-Z0-9\\.-]*)$", 0, 0, NULL);
8- genericre = g_regex_new("^([a-z][a-z0-9]*):(?://(?:.*@)(a-z0-9\\.-]*)(?::[0-9])/)?(.*)?$", 0, 0, NULL);
9+ genericre = g_regex_new("^([a-z][a-z0-9]*):(?://(?:.*@)?([a-zA-Z0-9\\.-]*)(?::[0-9]*)?/?)?(.*)?$", 0, 0, NULL);
10
11 g_bus_get(G_BUS_TYPE_SESSION, cancellable, bus_got, mainloop);
12
13
14=== modified file 'tests/dispatcher-test.cc'
15--- tests/dispatcher-test.cc 2014-10-29 14:48:02 +0000
16+++ tests/dispatcher-test.cc 2014-12-11 19:02:27 +0000
17@@ -49,6 +49,12 @@
18 url_db_set_file_motification_time(db, "/testdir/magnet-test.url-dispatcher", &timestamp);
19 url_db_insert_url(db, "/testdir/magnet-test.url-dispatcher", "magnet", NULL);
20
21+ url_db_set_file_motification_time(db, "/testdir/browser.url-dispatcher", &timestamp);
22+ url_db_insert_url(db, "/testdir/browser.url-dispatcher", "http", NULL);
23+
24+ url_db_set_file_motification_time(db, "/testdir/webapp.url-dispatcher", &timestamp);
25+ url_db_insert_url(db, "/testdir/webapp.url-dispatcher", "http", "foo.com");
26+
27 sqlite3_close(db);
28
29 testbus = g_test_dbus_new(G_TEST_DBUS_NONE);
30@@ -193,3 +199,26 @@
31
32 return;
33 }
34+
35+TEST_F(DispatcherTest, WebappTest)
36+{
37+ gchar * out_appid = NULL;
38+ const gchar * out_url = NULL;
39+
40+ /* Browser test */
41+ EXPECT_TRUE(dispatcher_url_to_appid("http://ubuntu.com", &out_appid, &out_url));
42+ EXPECT_STREQ("browser", out_appid);
43+ g_free(out_appid);
44+
45+ /* Webapp test */
46+ EXPECT_TRUE(dispatcher_url_to_appid("http://foo.com", &out_appid, &out_url));
47+ EXPECT_STREQ("webapp", out_appid);
48+ g_free(out_appid);
49+
50+ EXPECT_TRUE(dispatcher_url_to_appid("http://m.foo.com", &out_appid, &out_url));
51+ EXPECT_STREQ("webapp", out_appid);
52+ g_free(out_appid);
53+
54+ return;
55+}
56+

Subscribers

People subscribed via source and target branches