// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/task/single_thread_task_runner.h" #include "base/memory/scoped_refptr.h" #include "base/run_loop.h" #include "base/task/sequenced_task_runner.h" #include "base/task/single_thread_task_runner.h" #include "base/test/gtest_util.h" #include "base/test/task_environment.h" #include "base/test/test_simple_task_runner.h" #include "testing/gtest/include/gtest/gtest.h" namespace base { TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, Basic) { … } // Verify that instantiating a `CurrentDefaultHandle` without `MayAlreadyExist` // fails if there is already a current default `SingleThreadTaskRunner`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, DeathOnImplicitOverride) { … } // Verify nested instantiations of `CurrentHandleOverrideForTesting` in a scope // with a `CurrentDefaultHandle`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, NestedOverrideForTesting) { … } // Same as above, but using `CurrentDefaultHandle` with `MayAlreadyExist` // instead of `CurrentHandleOverrideForTesting`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, NestedOverrideWithMayAlreadyExist) { … } // Verify that `CurrentDefaultHandle` can be used to set the current default // `SingleThreadTaskRunner` and `SequencedTaskRunner` to null in a scope that // already has a default. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, OverrideWithNull) { … } // Verify that `CurrentDefaultHandle` can be used to set the current default // `SingleThreadTaskRunner` and `SequencedTaskRunner` to a non-null value in a // scope that already has a default. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, OverrideWithNonNull) { … } // Verify nested instantiations of `CurrentHandleOverrideForTesting` in a scope // without a `CurrentDefaultHandle`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, OverrideNoExistingSTTCD) { … } // Verify that `CurrentDefaultHandle` can't be instantiated without // `MayAlreadyExist` in the scope of a `CurrentHandleOverrideForTesting`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, DeathOnSTTCDOverOverride) { … } // Verify that running a `RunLoop` is supported in the scope of a // `CurrentDefaultHandle` with `MayAlreadyExist`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, NestedRunLoopAllowedUnderHandleOverride) { … } // Verify that running a `RunLoop` fails in the scope of a // `CurrentHandleOverrideForTesting`. TEST(SingleThreadTaskRunnerCurrentDefaultHandleTest, NestedRunLoopDisallowedUnderHandleOverrideForTesting) { … } } // namespace base