| Index: chrome/browser/ui/fullscreen/fullscreen_controller_state_unittest.cc
|
| diff --git a/chrome/browser/ui/fullscreen/fullscreen_controller_state_unittest.cc b/chrome/browser/ui/fullscreen/fullscreen_controller_state_unittest.cc
|
| index 82b35a284c5f55c4d7268fcfc9016478c70f4662..791a9dc7b5c32a7f7bfd7339e49891cfb6028315 100644
|
| --- a/chrome/browser/ui/fullscreen/fullscreen_controller_state_unittest.cc
|
| +++ b/chrome/browser/ui/fullscreen/fullscreen_controller_state_unittest.cc
|
| @@ -317,6 +317,26 @@ Browser* FullscreenControllerStateUnitTest::GetBrowser() {
|
|
|
| // Tests -----------------------------------------------------------------------
|
|
|
| +// Soak tests:
|
| +
|
| +// Tests all states with all permutations of multiple events to detect lingering
|
| +// state issues that would bleed over to other states.
|
| +// I.E. for each state test all combinations of events E1, E2, E3.
|
| +//
|
| +// This produces coverage for event sequences that may happen normally but
|
| +// would not be exposed by traversing to each state via TransitionToState().
|
| +// TransitionToState() always takes the same path even when multiple paths
|
| +// exist.
|
| +TEST_F(FullscreenControllerStateUnitTest, TransitionsForEachState) {
|
| + // A tab is needed for tab fullscreen.
|
| + AddTab(browser(), GURL(chrome::kAboutBlankURL));
|
| + TestTransitionsForEachState();
|
| + // Progress of test can be examined via LOG(INFO) << GetAndClearDebugLog();
|
| +}
|
| +
|
| +
|
| +// Individual tests for each pair of state and event:
|
| +
|
| #define TEST_EVENT_INNER(state, event, reentrant, reentrant_id) \
|
| TEST_F(FullscreenControllerStateUnitTest, \
|
| state##__##event##reentrant_id) { \
|
| @@ -331,8 +351,6 @@ Browser* FullscreenControllerStateUnitTest::GetBrowser() {
|
| TEST_EVENT_INNER(state, event, false, ); \
|
| TEST_EVENT_INNER(state, event, true, _Reentrant);
|
|
|
| -// Individual tests for each pair of state and event:
|
| -
|
| TEST_EVENT(STATE_NORMAL, TOGGLE_FULLSCREEN);
|
| TEST_EVENT(STATE_NORMAL, TAB_FULLSCREEN_TRUE);
|
| TEST_EVENT(STATE_NORMAL, TAB_FULLSCREEN_FALSE);
|
| @@ -429,6 +447,7 @@ TEST_EVENT(STATE_TO_TAB_FULLSCREEN, BUBBLE_ALLOW);
|
| TEST_EVENT(STATE_TO_TAB_FULLSCREEN, BUBBLE_DENY);
|
| TEST_EVENT(STATE_TO_TAB_FULLSCREEN, WINDOW_CHANGE);
|
|
|
| +
|
| // Specific one-off tests for known issues:
|
|
|
| // TODO(scheib) Toggling Tab fullscreen while pending Tab or
|
| @@ -462,20 +481,3 @@ TEST_F(FullscreenControllerStateUnitTest, DISABLED_ToggleTabWhenPendingTab) {
|
| #endif
|
| }
|
|
|
| -// Soak tests:
|
| -
|
| -// Tests all states with all permutations of multiple events to detect lingering
|
| -// state issues that would bleed over to other states.
|
| -// I.E. for each state test all combinations of events E1, E2, E3.
|
| -//
|
| -// This produces coverage for event sequences that may happen normally but
|
| -// would not be exposed by traversing to each state via TransitionToState().
|
| -// TransitionToState() always takes the same path even when multiple paths
|
| -// exist.
|
| -TEST_F(FullscreenControllerStateUnitTest, TransitionsForEachState) {
|
| - // A tab is needed for tab fullscreen.
|
| - AddTab(browser(), GURL(chrome::kAboutBlankURL));
|
| - TestTransitionsForEachState();
|
| - // Progress of test can be examined via LOG(INFO) << GetAndClearDebugLog();
|
| -}
|
| -
|
|
|