]> Pileus Git - ~andy/gtk/blob - gdk/tests/display.c
Drop the Motif DND protocol
[~andy/gtk] / gdk / tests / display.c
1 #include <stdlib.h>
2
3 #include <gdk/gdk.h>
4
5 static void
6 test_unset_display (void)
7 {
8   if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
9     {
10       GdkDisplayManager *manager;
11
12       g_unsetenv ("DISPLAY");
13
14       g_assert (!gdk_init_check (NULL, NULL));
15       manager = gdk_display_manager_get ();
16       g_assert (manager != NULL);
17       g_assert (gdk_display_manager_get_default_display (manager) == NULL);
18
19       exit (0);
20     }
21   g_test_trap_assert_passed ();
22
23   if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
24     {
25       g_unsetenv ("DISPLAY");
26
27       gdk_init (NULL, NULL);
28
29       exit (0);
30     }
31   g_test_trap_assert_failed ();
32   g_test_trap_assert_stderr ("*cannot open display*");
33 }
34
35 static void
36 test_bad_display (void)
37 {
38   if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
39     {
40       GdkDisplayManager *manager;
41
42       g_setenv ("DISPLAY", "poo", TRUE);
43
44       g_assert (!gdk_init_check (NULL, NULL));
45       manager = gdk_display_manager_get ();
46       g_assert (manager != NULL);
47       g_assert (gdk_display_manager_get_default_display (manager) == NULL);
48
49       exit (0);
50     }
51   g_test_trap_assert_passed ();
52
53   if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
54     {
55       g_setenv ("DISPLAY", "poo", TRUE);
56
57       gdk_init (NULL, NULL);
58
59       exit (0);
60     }
61   g_test_trap_assert_failed ();
62   g_test_trap_assert_stderr ("*cannot open display*");
63 }
64
65 int
66 main (int argc, char *argv[])
67 {
68   g_test_init (&argc, &argv, NULL);
69
70   g_test_add_func ("/display/unset-display", test_unset_display);
71   g_test_add_func ("/display/bad-display", test_bad_display);
72
73   return g_test_run ();
74 }