chromium/ui/aura/test/aura_test_suite.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_AURA_TEST_AURA_TEST_SUITE_H_
#define UI_AURA_TEST_AURA_TEST_SUITE_H_

namespace aura {
namespace test {

// The aura test suite is configured in such a way that Env is shared across
// all tests. If a test needs to install a fresh copy of env it can create an
// instance of this. The constructor destroys the global instance, and the
// destructor reinstates it.
// Typical usage is:
//    MyTest::SetUp() {
//      env_reinstaller_ = std::make_unique<EnvReinstaller>();
//      my_test_env_ = Env::CreateInstance()
//      AuraTestBase::SetUp();
//    }
//    MyTest::TearDown() {
//      AuraTestBase::TearDown();
//      my_test_env_.reset();
//      env_reinstaller_.reset();
//    }
// TODO(sky): this is ugly. Instead look into having each test install it's own
// Env. https://crbug.com/822968
class EnvReinstaller {};

}  // namespace test
}  // namespace aura

#endif  // UI_AURA_TEST_AURA_TEST_SUITE_H_