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