1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_
6 #define CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_
8 // Macros used to create individual tests for all state and event pairs.
9 // To be included in the middle of a test .cc file just after a definition for
10 // TEST_EVENT in order to instantiate all the necessary actual tests. See
11 // fullscreen_controller_state_interactive_browsertest.cc and
12 // fullscreen_controller_state_unittest.cc.
14 #define TEST_ALL_EVENTS_NON_METRO(state) \
15 TEST_EVENT(state, TOGGLE_FULLSCREEN) \
16 TEST_EVENT(state, TOGGLE_FULLSCREEN_CHROME) \
17 TEST_EVENT(state, TAB_FULLSCREEN_TRUE) \
18 TEST_EVENT(state, TAB_FULLSCREEN_FALSE) \
19 TEST_EVENT(state, BUBBLE_EXIT_LINK) \
20 TEST_EVENT(state, BUBBLE_ALLOW) \
21 TEST_EVENT(state, BUBBLE_DENY) \
22 TEST_EVENT(state, WINDOW_CHANGE)
25 #define TEST_ALL_EVENTS(state) \
26 TEST_ALL_EVENTS_NON_METRO(state) \
27 TEST_EVENT(state, METRO_SNAP_TRUE) \
28 TEST_EVENT(state, METRO_SNAP_FALSE)
30 #define TEST_ALL_EVENTS(state) TEST_ALL_EVENTS_NON_METRO(state)
33 TEST_ALL_EVENTS(STATE_NORMAL
);
34 TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_NO_CHROME
);
35 TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_WITH_CHROME
);
37 TEST_ALL_EVENTS(STATE_METRO_SNAP
);
39 TEST_ALL_EVENTS(STATE_TAB_FULLSCREEN
);
40 TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN
);
41 TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN_CHROME
);
42 TEST_ALL_EVENTS(STATE_TO_NORMAL
);
43 TEST_ALL_EVENTS(STATE_TO_BROWSER_FULLSCREEN_NO_CHROME
);
44 TEST_ALL_EVENTS(STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME
);
45 TEST_ALL_EVENTS(STATE_TO_TAB_FULLSCREEN
);
47 #endif // CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_