with_feature_override.cc 1014 B

1234567891011121314151617181920212223242526272829303132
  1. // Copyright 2020 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. #include "base/test/with_feature_override.h"
  5. #include "base/task/thread_pool/thread_pool_instance.h"
  6. namespace base {
  7. namespace test {
  8. WithFeatureOverride::WithFeatureOverride(const base::Feature& feature) {
  9. // Most other classes that tests inherit from start task environments. Verify
  10. // that has not happened yet.
  11. DCHECK(base::ThreadPoolInstance::Get() == nullptr)
  12. << "WithFeatureOverride should be the first class a test inherits from "
  13. "so it sets the features before any other setup is done.";
  14. if (GetParam()) {
  15. scoped_feature_list_.InitAndEnableFeature(feature);
  16. } else {
  17. scoped_feature_list_.InitAndDisableFeature(feature);
  18. }
  19. }
  20. bool WithFeatureOverride::IsParamFeatureEnabled() {
  21. return GetParam();
  22. }
  23. WithFeatureOverride::~WithFeatureOverride() = default;
  24. } // namespace test
  25. } // namespace base