chromium/content/public/test/unittest_test_suite.h

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

#ifndef CONTENT_PUBLIC_TEST_UNITTEST_TEST_SUITE_H_
#define CONTENT_PUBLIC_TEST_UNITTEST_TEST_SUITE_H_

#include <memory>
#include <optional>

#include "base/functional/callback.h"
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "mojo/core/embedder/configuration.h"
#include "v8/include/v8-forward.h"

namespace base {
class TestSuite;
}

namespace content {
class ContentBrowserClient;
class ContentClient;
class ContentUtilityClient;
class TestBlinkWebUnitTestSupport;
class TestHostResolver;

// A special test suite that also initializes Content its dependencies once for
// all unittests. This is useful for two reasons:
// 1. It ensures runtime dependencies of code in Content and its dependencies
//    are initialized and that using them does not crash. It allows the use of
//    some primitive Blink data types like WebString.
// 2. Individual unittests should not be initializing Blink on their own,
//    initializing it here ensures attempts to do so within an individual test
//     will fail.
class UnitTestTestSuite {};

}  // namespace content

#endif  // CONTENT_PUBLIC_TEST_UNITTEST_TEST_SUITE_H_