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. 4 5 #ifndef CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_ 6 #define CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_ 7 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. 13 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) 23 24 #if defined(OS_WIN) 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) 29 #else 30 #define TEST_ALL_EVENTS(state) TEST_ALL_EVENTS_NON_METRO(state) 31 #endif 32 33 TEST_ALL_EVENTS(STATE_NORMAL); 34 TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_NO_CHROME); 35 TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_WITH_CHROME); 36 #if defined(OS_WIN) 37 TEST_ALL_EVENTS(STATE_METRO_SNAP); 38 #endif 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); 46 47 #endif // CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_ 48