Merge lp:~midori/midori/asynAutocompleterTest into lp:midori

Proposed by Cris Dywan
Status: Merged
Approved by: gue5t gue5t
Approved revision: 6551
Merged at revision: 6600
Proposed branch: lp:~midori/midori/asynAutocompleterTest
Merge into: lp:midori
Diff against target: 101 lines (+41/-43)
1 file modified
tests/completion.vala (+41/-43)
To merge this branch: bzr merge lp:~midori/midori/asynAutocompleterTest
Reviewer Review Type Date Requested Status
gue5t gue5t Approve
Review via email: mp+203432@code.launchpad.net

Commit message

Port autocompleter test to async job

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

This looks good, but could you explain why it's happening? Does it test ordering better if it tests completions asynchronously?

Revision history for this message
Cris Dywan (kalikiana) wrote :

The completions are asynchronous by design so this gets rid of the loop.iteration calls in favour of taking the results when they come.

Revision history for this message
RabbitBot (rabbitbot-a) wrote :

Voting does not meet specified criteria. Required: Approve >= 1. Got: 1 Pending.

Revision history for this message
gue5t gue5t (gue5t) wrote :

That makes sense, it seems like a nice cleanup.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'tests/completion.vala'
--- tests/completion.vala 2014-01-25 21:04:57 +0000
+++ tests/completion.vala 2014-03-04 00:25:23 +0000
@@ -43,48 +43,46 @@
43 }43 }
44}44}
4545
46void completion_autocompleter () {46class CompletionAutocompleter : Midori.Test.Job {
47 var app = new Midori.App ();47 public static void test () { new CompletionAutocompleter ().run_sync (); }
48 var autocompleter = new Midori.Autocompleter (app);48 public override async void run (Cancellable cancellable) throws GLib.Error {
49 assert (!autocompleter.can_complete (""));49 var app = new Midori.App ();
50 var completion = new TestCompletion ();50 var autocompleter = new Midori.Autocompleter (app);
51 autocompleter.add (completion);51 assert (!autocompleter.can_complete (""));
52 completion.test_can_complete = false;52 var completion = new TestCompletion ();
53 assert (!autocompleter.can_complete (""));53 autocompleter.add (completion);
54 completion.test_can_complete = true;54 completion.test_can_complete = false;
55 assert (autocompleter.can_complete (""));55 assert (!autocompleter.can_complete (""));
5656 completion.test_can_complete = true;
57 completion.test_suggestions = 0;57 assert (autocompleter.can_complete (""));
58 autocompleter.complete.begin ("");58
59 var loop = MainContext.default ();59 completion.test_suggestions = 0;
60 do { loop.iteration (true); } while (loop.pending ());60 yield autocompleter.complete ("");
61 assert (autocompleter.model.iter_n_children (null) == 0);61 assert (autocompleter.model.iter_n_children (null) == 0);
6262
63 completion.test_suggestions = 1;63 completion.test_suggestions = 1;
64 autocompleter.complete.begin ("");64 yield autocompleter.complete ("");
65 do { loop.iteration (true); } while (loop.pending ());65 assert (autocompleter.model.iter_n_children (null) == 1);
66 assert (autocompleter.model.iter_n_children (null) == 1);66
6767 /* Order */
68 /* Order */68 completion.test_suggestions = 2;
69 completion.test_suggestions = 2;69 yield autocompleter.complete ("");
70 autocompleter.complete.begin ("");70 assert (autocompleter.model.iter_n_children (null) == 2);
71 do { loop.iteration (true); } while (loop.pending ());71 Gtk.TreeIter iter_first;
72 assert (autocompleter.model.iter_n_children (null) == 2);72 autocompleter.model.get_iter_first (out iter_first);
73 Gtk.TreeIter iter_first;73 string title;
74 autocompleter.model.get_iter_first (out iter_first);74 autocompleter.model.get (iter_first, Midori.Autocompleter.Columns.MARKUP, out title);
75 string title;75 if (title != "First")
76 autocompleter.model.get (iter_first, Midori.Autocompleter.Columns.MARKUP, out title);76 error ("Expected %s but got %s", "First", title);
77 if (title != "First")77
78 error ("Expected %s but got %s", "First", title);78 /* Cancellation */
7979 yield autocompleter.complete ("");
80 /* Cancellation */80 completion.test_suggestions = 3;
81 autocompleter.complete.begin ("");81 yield autocompleter.complete ("");
82 completion.test_suggestions = 3;82 int n = autocompleter.model.iter_n_children (null);
83 autocompleter.complete.begin ("");83 if (n != 3)
84 do { loop.iteration (true); } while (loop.pending ());84 error ("Expected %d but got %d", 3, n);
85 int n = autocompleter.model.iter_n_children (null);85 }
86 if (n != 3)
87 error ("Expected %d but got %d", 3, n);
88}86}
8987
90class CompletionHistory : Midori.Test.Job {88class CompletionHistory : Midori.Test.Job {
@@ -140,7 +138,7 @@
140 Midori.Test.init (ref args);138 Midori.Test.init (ref args);
141 Midori.App.setup (ref args, null);139 Midori.App.setup (ref args, null);
142 Midori.Paths.init (Midori.RuntimeMode.NORMAL, null);140 Midori.Paths.init (Midori.RuntimeMode.NORMAL, null);
143 Test.add_func ("/completion/autocompleter", completion_autocompleter);141 Test.add_func ("/completion/autocompleter", CompletionAutocompleter.test);
144 Test.add_func ("/completion/history", CompletionHistory.test);142 Test.add_func ("/completion/history", CompletionHistory.test);
145 Test.add_func ("/completion/location-action", completion_location_action);143 Test.add_func ("/completion/location-action", completion_location_action);
146 Test.run ();144 Test.run ();

Subscribers

People subscribed via source and target branches

to all changes: