1 // Copyright 2012 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include <string.h> 6 7 #include <gtest/gtest.h> 8 9 #include "include/tracer.h" 10 11 using std::string; 12 13 namespace gestures { 14 15 class TracerTest : public ::testing::Test {}; 16 17 class TraceMarkerMock { 18 public: 19 static string msg_written; StaticTraceWrite(const char * str)20 static void StaticTraceWrite(const char* str) { 21 msg_written = string(str); 22 } 23 }; 24 string TraceMarkerMock::msg_written = ""; 25 TEST(TracerTest,TraceTest)26TEST(TracerTest, TraceTest) { 27 PropRegistry prop_reg; 28 Tracer tracer(&prop_reg, TraceMarkerMock::StaticTraceWrite); 29 tracer.Trace("TestMessage: ", "name"); 30 EXPECT_STREQ("", TraceMarkerMock::msg_written.c_str()); 31 tracer.tracing_enabled_.val_ = 1; 32 tracer.Trace("TestMessage: ", "name"); 33 EXPECT_STREQ("TestMessage: name", TraceMarkerMock::msg_written.c_str()); 34 tracer.tracing_enabled_.val_ = 0; 35 tracer.Trace("TestMessageNoUse: ", "name"); 36 EXPECT_STREQ("TestMessage: name", TraceMarkerMock::msg_written.c_str()); 37 } 38 } // namespace gestures 39