xref: /aosp_15_r20/external/libchrome-gestures/src/tracer_unittest.cc (revision aed3e5085e770be5b69ce25295ecf6ddf906af95)
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)26 TEST(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