55
55
Test.add_data_func ("/Unit/Lens/Sources", test_lens_sources);
56
56
Test.add_data_func ("/Unit/Lens/Activation", test_lens_activation);
57
57
Test.add_data_func ("/Unit/Lens/Preview", test_lens_preview);
58
Test.add_data_func ("/Unit/Lens/PreviewSignal", test_lens_preview_signal);
59
Test.add_data_func ("/Unit/Lens/PreviewClosedSignal", test_lens_preview_closed_signal);
58
Test.add_data_func ("/Unit/Lens/Preview/Async", test_lens_preview_async);
59
Test.add_data_func ("/Unit/Lens/Preview/Signal", test_lens_preview_signal);
60
Test.add_data_func ("/Unit/Lens/Preview/ClosedSignal", test_lens_preview_closed_signal);
799
800
assert (got_action_activated_signal);
803
public static void test_lens_preview_async ()
805
SignalWrapper[] signals = null;
806
assert (local_scope != null);
808
var ml = new MainLoop ();
810
var lens_results_model =
811
exported_lens.get_model_internal (0) as Dee.SharedModel;
812
var iter = lens_results_model.get_first_iter ();
813
var mangled_uri = lens_results_model.get_string (iter, 0);
815
bool got_activate_uri_signal = false;
816
bool got_preview_uri_signal = false;
817
Unity.PreviewAction? action = null;
819
signals += new SignalWrapper (local_scope,
820
local_scope.activate_uri.connect ((uri) =>
822
got_activate_uri_signal = true;
826
signals += new SignalWrapper (local_scope,
827
local_scope.preview_uri.connect ((uri) =>
829
assert (uri == "scheme://local/");
830
got_preview_uri_signal = true;
831
var async_preview = new Unity.AsyncPreview ();
833
Timeout.add (100, () =>
835
var p = new Unity.ApplicationPreview ("App title", "Subtitle",
837
new ThemedIcon ("internet"),
839
action = new Unity.PreviewAction ("button1", "Do stuff!", null);
840
p.add_action (action);
841
async_preview.preview_ready (p);
844
return async_preview;
847
ml = new MainLoop ();
848
Unity.Protocol.Preview? reconstructed = null;
849
call_lens_activate (mangled_uri, 1, (reply) =>
851
var v = reply.get_child_value (0);
852
Unity.Protocol.ActivationReplyRaw reply_struct =
853
(Unity.Protocol.ActivationReplyRaw) v;
854
reconstructed = Unity.Protocol.Preview.parse (reply_struct.hints["preview"]);
857
run_with_timeout (ml, 5000);
859
assert (reconstructed != null);
860
assert (reconstructed is Unity.Protocol.ApplicationPreview);
861
assert (reconstructed.title == "App title");
862
assert (action != null);
863
assert (got_preview_uri_signal);
864
assert (!got_activate_uri_signal);
866
bool got_action_activated_signal = false;
867
action.activated.connect (() =>
869
got_action_activated_signal = true;
870
return new Unity.ActivationResponse (Unity.HandledType.NOT_HANDLED);
873
// expecting button_id:scope_uid:uri
874
ml = new MainLoop ();
875
call_lens_activate ("%s:%s".printf (action.id, mangled_uri), 2, (reply) =>
879
run_with_timeout (ml, 5000);
881
assert (got_action_activated_signal);
802
884
public static void test_lens_preview_signal ()
804
886
SignalWrapper[] signals = null;