summaryrefslogtreecommitdiff
path: root/testsuite/gdk/displaymanager.c
blob: ce7c0d974f45a8df3e49f2b780e68ebaadb98fc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <gtk/gtk.h>

static void
test_basic (void)
{
  GdkDisplayManager *manager;
  GdkDisplay *d, *d2;
  GSList *list;

  manager = gdk_display_manager_get ();
  g_assert_nonnull (manager);

  d = gdk_display_manager_get_default_display (manager);
  g_assert_nonnull (d);
  g_object_get (manager, "default-display", &d2, NULL);
  g_assert_true (d == d2);
  g_object_unref (d2);

  list = gdk_display_manager_list_displays (manager);
  g_assert_nonnull (g_slist_find (list, d));
  g_slist_free (list);
}

static void
test_set_default (void)
{
  GdkDisplayManager *manager;
  GdkDisplay *d, *d2;
  const char *name;

  manager = gdk_display_manager_get ();
  g_assert_nonnull (manager);

  d = gdk_display_manager_get_default_display (manager);
  name = gdk_display_get_name (d);
  d2 = gdk_display_manager_open_display (manager, name);
  g_object_set (manager, "default-display", d2, NULL);

  d = gdk_display_manager_get_default_display (manager);
  g_assert_true (d == d2);
}

int
main (int argc, char *argv[])
{
  g_test_init (&argc, &argv, NULL);

  /* Open default display */
  gdk_display_open (NULL);

  g_test_add_func ("/displaymanager/basic", test_basic);
  g_test_add_func ("/displaymanager/set-default", test_set_default);

  return g_test_run ();
}