264
278
_autopilot->StartTest(name);
267
/* a very contrived example purely for giving QA something purposes */
269
DebugDBusInterface::BuildFakeReturn()
282
* Do a breadth-first search of the introspectable tree.
285
FindPieceToIntrospect(std::queue<Introspectable*> queue, const gchar* pieceName)
271
GVariantBuilder* builder;
272
GVariant* result, *panel_result, *indicators_result, *appmenu_result, *entries_result, *zero_result, *one_result;
274
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
275
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_string("_File"));
276
g_variant_builder_add(builder, "{sv}", "image", g_variant_new_string(""));
277
g_variant_builder_add(builder, "{sv}", "visible", g_variant_new_boolean(TRUE));
278
g_variant_builder_add(builder, "{sv}", "sensitive", g_variant_new_boolean(TRUE));
279
g_variant_builder_add(builder, "{sv}", "active", g_variant_new_boolean(FALSE));
280
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_int32(34));
281
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_int32(24));
282
zero_result = g_variant_new("(a{sv})", builder);
283
g_variant_builder_unref(builder);
285
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
286
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_string("_Edit"));
287
g_variant_builder_add(builder, "{sv}", "image", g_variant_new_string(""));
288
g_variant_builder_add(builder, "{sv}", "visible", g_variant_new_boolean(TRUE));
289
g_variant_builder_add(builder, "{sv}", "sensitive", g_variant_new_boolean(TRUE));
290
g_variant_builder_add(builder, "{sv}", "active", g_variant_new_boolean(FALSE));
291
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_int32(34));
292
g_variant_builder_add(builder, "{sv}", "label", g_variant_new_int32(24));
293
one_result = g_variant_new("(a{sv})", builder);
294
g_variant_builder_unref(builder);
296
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
297
g_variant_builder_add(builder, "{sv}", "0", zero_result);
298
g_variant_builder_add(builder, "{sv}", "1", one_result);
299
entries_result = g_variant_new("(a{sv})", builder);
300
g_variant_builder_unref(builder);
302
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
303
g_variant_builder_add(builder, "{sv}", "model-name",
304
g_variant_new_string("com.canonical.Unity.Panel.Service.Indicators.appmenu.324234243"));
305
g_variant_builder_add(builder, "{sv}", "entries", entries_result);
306
appmenu_result = g_variant_new("(a{sv})", builder);
307
g_variant_builder_unref(builder);
309
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
310
g_variant_builder_add(builder, "{sv}", "appmenu", appmenu_result);
311
indicators_result = g_variant_new("(a{sv})", builder);
312
g_variant_builder_unref(builder);
314
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
315
g_variant_builder_add(builder, "{sv}", "backend",
316
g_variant_new_string("/com/canonical/Unity/Panel/Service/324234243"));
317
g_variant_builder_add(builder, "{sv}", "launch-type",
318
g_variant_new_string("dbus"));
319
g_variant_builder_add(builder, "{sv}", "width", g_variant_new_int32(1024));
320
g_variant_builder_add(builder, "{sv}", "width", g_variant_new_int32(32));
321
g_variant_builder_add(builder, "{sv}", "theme", g_variant_new_string("gtk"));
322
g_variant_builder_add(builder, "{sv}", "indicators", indicators_result);
323
panel_result = g_variant_new("(a{sv})", builder);
324
g_variant_builder_unref(builder);
326
builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
327
g_variant_builder_add(builder, "{sv}", "panel", panel_result);
328
result = g_variant_new("(a{sv})", builder);
329
g_variant_builder_unref(builder);
331
gchar* s = g_variant_print(result, TRUE);
287
Introspectable* piece;
289
while (!queue.empty())
291
piece = queue.front();
294
if (g_strcmp0 (piece->GetName(), pieceName) == 0)
299
for (auto it = piece->GetIntrospectableChildren().begin(), last = piece->GetIntrospectableChildren().end(); it != last; it++)
304
FindPieceToIntrospect(queue, pieceName);