~smspillaz/compiz-core/decor.input_extents_update

« back to all changes in this revision

Viewing changes to gtk/window-decorator/local-menus/tests/force_local_menu_on/test-force-local-menu-on.cpp

  • Committer: Daniel van Vugt
  • Date: 2012-03-30 07:31:56 UTC
  • mfrom: (3076.1.1 revert-lim)
  • Revision ID: daniel.van.vugt@canonical.com-20120330073156-zkf1b676o3m2vur2
Revert locally integrated menus support because it is not being used and
is apparently causing a regression (LP: #962085)

This reverts LP: #931245 and LP: #682788. It is a pure revert of
lp:compiz-core r3036.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "test-local-menu.h"
2
 
#include <cstring>
3
 
#include <gdk/gdkx.h>
4
 
 
5
 
#define GLOBAL 0
6
 
#define LOCAL 1
7
 
#ifdef META_HAS_LOCAL_MENUS
8
 
 
9
 
namespace
10
 
{
11
 
    void initializeMetaButtonLayout (MetaButtonLayout *layout)
12
 
    {
13
 
        memset (layout, 0, sizeof (MetaButtonLayout));
14
 
 
15
 
        unsigned int i;
16
 
 
17
 
        for (i = 0; i < MAX_BUTTONS_PER_CORNER; i++)
18
 
        {
19
 
            layout->right_buttons[i] = META_BUTTON_FUNCTION_LAST;
20
 
            layout->left_buttons[i] = META_BUTTON_FUNCTION_LAST;
21
 
        }
22
 
    }
23
 
}
24
 
 
25
 
class GtkWindowDecoratorTestLocalMenuLayout :
26
 
    public GtkWindowDecoratorTestLocalMenu
27
 
{
28
 
    public:
29
 
 
30
 
        MetaButtonLayout * getLayout () { return &mLayout; }
31
 
 
32
 
        virtual void SetUp ()
33
 
        {
34
 
            GtkWindowDecoratorTestLocalMenu::SetUp ();
35
 
            ::initializeMetaButtonLayout (&mLayout);
36
 
            g_settings_set_enum (getSettings (), "menu-mode", LOCAL);
37
 
 
38
 
            Window xid = getWindow ();
39
 
            Atom   ubuntu_appmenu_unique_name = XInternAtom (gdk_x11_display_get_xdisplay (gdk_display_get_default ()), "_UBUNTU_APPMENU_UNIQUE_NAME", FALSE);
40
 
            Atom   utf8_string = XInternAtom (gdk_x11_display_get_xdisplay (gdk_display_get_default ()), "UTF8_STRING", FALSE);
41
 
            const char   data[] = ":abcd1234";
42
 
 
43
 
            XChangeProperty (gdk_x11_display_get_xdisplay (gdk_display_get_default ()), xid, ubuntu_appmenu_unique_name, utf8_string, 8, PropModeReplace, (const unsigned char *) data, strlen (data));
44
 
 
45
 
            gdk_display_sync (gdk_display_get_default ());
46
 
 
47
 
            ASSERT_TRUE (gwd_window_should_have_local_menu (getWindow ()));
48
 
        }
49
 
 
50
 
    private:
51
 
 
52
 
        MetaButtonLayout mLayout;
53
 
};
54
 
 
55
 
TEST_F (GtkWindowDecoratorTestLocalMenuLayout, TestForceNoButtonsSet)
56
 
{
57
 
    force_local_menus_on (getWindow (), getLayout ());
58
 
 
59
 
    EXPECT_EQ (getLayout ()->right_buttons[0], META_BUTTON_FUNCTION_LAST);
60
 
    EXPECT_EQ (getLayout ()->left_buttons[0], META_BUTTON_FUNCTION_LAST);
61
 
}
62
 
 
63
 
TEST_F (GtkWindowDecoratorTestLocalMenuLayout, TestForceNoCloseButtonSet)
64
 
{
65
 
    getLayout ()->right_buttons[0] = META_BUTTON_FUNCTION_CLOSE;
66
 
 
67
 
    force_local_menus_on (getWindow (), getLayout ());
68
 
 
69
 
    EXPECT_EQ (getLayout ()->right_buttons[1], META_BUTTON_FUNCTION_WINDOW_MENU);
70
 
    EXPECT_EQ (getLayout ()->left_buttons[0], META_BUTTON_FUNCTION_LAST);
71
 
}
72
 
 
73
 
TEST_F (GtkWindowDecoratorTestLocalMenuLayout, TestForceNoCloseMinimizeMaximizeButtonSet)
74
 
{
75
 
    getLayout ()->left_buttons[0] = META_BUTTON_FUNCTION_CLOSE;
76
 
    getLayout ()->left_buttons[1] = META_BUTTON_FUNCTION_CLOSE;
77
 
    getLayout ()->left_buttons[2] = META_BUTTON_FUNCTION_CLOSE;
78
 
 
79
 
    force_local_menus_on (getWindow (), getLayout ());
80
 
 
81
 
    EXPECT_EQ (getLayout ()->right_buttons[0], META_BUTTON_FUNCTION_LAST);
82
 
    EXPECT_EQ (getLayout ()->left_buttons[3], META_BUTTON_FUNCTION_WINDOW_MENU);
83
 
}
84
 
#else
85
 
TEST_F (GtkWindowDecoratorTestLocalMenu, NoMenus)
86
 
{
87
 
    ASSERT_TRUE (true) << "Local menus tests not enabled because META_HAS_LOCAL_MENUS is off";
88
 
}
89
 
#endif