// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_ #define CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_ // Macros used to create individual tests for all state and event pairs. // To be included in the middle of a test .cc file just after a definition for // TEST_EVENT in order to instantiate all the necessary actual tests. See // fullscreen_controller_state_interactive_browsertest.cc and // fullscreen_controller_state_unittest.cc. #define TEST_ALL_EVENTS_NON_METRO(state) \ TEST_EVENT(state, TOGGLE_FULLSCREEN) \ TEST_EVENT(state, TOGGLE_FULLSCREEN_CHROME) \ TEST_EVENT(state, TAB_FULLSCREEN_TRUE) \ TEST_EVENT(state, TAB_FULLSCREEN_FALSE) \ TEST_EVENT(state, BUBBLE_EXIT_LINK) \ TEST_EVENT(state, BUBBLE_ALLOW) \ TEST_EVENT(state, BUBBLE_DENY) \ TEST_EVENT(state, WINDOW_CHANGE) #if defined(OS_WIN) #define TEST_ALL_EVENTS(state) \ TEST_ALL_EVENTS_NON_METRO(state) \ TEST_EVENT(state, METRO_SNAP_TRUE) \ TEST_EVENT(state, METRO_SNAP_FALSE) #else #define TEST_ALL_EVENTS(state) TEST_ALL_EVENTS_NON_METRO(state) #endif TEST_ALL_EVENTS(STATE_NORMAL); TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_NO_CHROME); TEST_ALL_EVENTS(STATE_BROWSER_FULLSCREEN_WITH_CHROME); #if defined(OS_WIN) TEST_ALL_EVENTS(STATE_METRO_SNAP); #endif TEST_ALL_EVENTS(STATE_TAB_FULLSCREEN); TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN); TEST_ALL_EVENTS(STATE_TAB_BROWSER_FULLSCREEN_CHROME); TEST_ALL_EVENTS(STATE_TO_NORMAL); TEST_ALL_EVENTS(STATE_TO_BROWSER_FULLSCREEN_NO_CHROME); TEST_ALL_EVENTS(STATE_TO_BROWSER_FULLSCREEN_WITH_CHROME); TEST_ALL_EVENTS(STATE_TO_TAB_FULLSCREEN); #endif // CHROME_BROWSER_UI_FULLSCREEN_FULLSCREEN_CONTROLLER_STATE_TESTS_H_