| Index: base/debug/trace_event_unittest.cc
|
| diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
|
| index 445118b6374bd1751df1468d175f7f35db6d8927..0d6d9bea92f9ef7a2590554c10d4038bbaeb9480 100644
|
| --- a/base/debug/trace_event_unittest.cc
|
| +++ b/base/debug/trace_event_unittest.cc
|
| @@ -71,7 +71,8 @@ class TraceEventTestFixture : public testing::Test {
|
| }
|
|
|
| void EndTraceAndFlush() {
|
| - TraceLog::GetInstance()->SetDisabled();
|
| + while (TraceLog::GetInstance()->IsEnabled())
|
| + TraceLog::GetInstance()->SetDisabled();
|
| TraceLog::GetInstance()->Flush(
|
| base::Bind(&TraceEventTestFixture::OnTraceDataCollected,
|
| base::Unretained(this)));
|
| @@ -696,11 +697,14 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) {
|
| // Cleanup.
|
| TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
|
| TraceLog::GetInstance()->SetEnabled(false);
|
| + TraceLog::GetInstance()->SetEnabled(false);
|
| }
|
|
|
| -TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnUselessDisable) {
|
| +TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnNestedDisable) {
|
| ManualTestSetUp();
|
|
|
| + TraceLog::GetInstance()->SetEnabled(true);
|
| + TraceLog::GetInstance()->SetEnabled(true);
|
|
|
| testing::StrictMock<MockEnabledStateChangedObserver> observer;
|
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
|
| @@ -714,6 +718,7 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnUselessDisable) {
|
|
|
| // Cleanup.
|
| TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
|
| + TraceLog::GetInstance()->SetEnabled(false);
|
| }
|
|
|
| TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) {
|
| @@ -1337,5 +1342,56 @@ TEST_F(TraceEventTestFixture, TraceResultBuffer) {
|
| EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]");
|
| }
|
|
|
| +TEST_F(TraceEventTestFixture, TraceEnableDisable) {
|
| + ManualTestSetUp();
|
| +
|
| + TraceLog* trace_log = TraceLog::GetInstance();
|
| + trace_log->SetEnabled(std::string());
|
| + EXPECT_TRUE(trace_log->IsEnabled());
|
| + trace_log->SetDisabled();
|
| + EXPECT_FALSE(trace_log->IsEnabled());
|
| +
|
| + trace_log->SetEnabled(true);
|
| + EXPECT_TRUE(trace_log->IsEnabled());
|
| + const std::vector<std::string> empty;
|
| + trace_log->SetEnabled(empty, empty);
|
| + EXPECT_TRUE(trace_log->IsEnabled());
|
| + trace_log->SetEnabled(false);
|
| + EXPECT_TRUE(trace_log->IsEnabled());
|
| + trace_log->SetDisabled();
|
| + EXPECT_FALSE(trace_log->IsEnabled());
|
| +}
|
| +
|
| +TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) {
|
| + ManualTestSetUp();
|
| +
|
| + TraceLog* trace_log = TraceLog::GetInstance();
|
| + trace_log->SetEnabled(std::string("foo,bar"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("bar"));
|
| + EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
|
| + trace_log->SetEnabled(std::string("foo2"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo2"));
|
| + EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
|
| + trace_log->SetEnabled(std::string(""));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
|
| + trace_log->SetDisabled();
|
| + trace_log->SetDisabled();
|
| + trace_log->SetDisabled();
|
| + EXPECT_FALSE(*trace_log->GetCategoryEnabled("foo"));
|
| + EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
|
| +
|
| + trace_log->SetEnabled(std::string("-foo,-bar"));
|
| + EXPECT_FALSE(*trace_log->GetCategoryEnabled("foo"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
|
| + trace_log->SetEnabled(std::string("moo"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("moo"));
|
| + EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
|
| + trace_log->SetDisabled();
|
| + trace_log->SetDisabled();
|
| +}
|
| +
|
| } // namespace debug
|
| } // namespace base
|
|
|