blob: b8f1a7c4f85f0341c079ed3465256f2089a12a57 [file] [log] [blame]
// Copyright 2012 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <string.h>
#include <gtest/gtest.h>
#include "include/tracer.h"
using std::string;
namespace gestures {
class TracerTest : public ::testing::Test {};
class TraceMarkerMock {
public:
static string msg_written;
static void StaticTraceWrite(const char* str) {
msg_written = string(str);
}
};
string TraceMarkerMock::msg_written = "";
TEST(TracerTest, TraceTest) {
PropRegistry prop_reg;
Tracer tracer(&prop_reg, TraceMarkerMock::StaticTraceWrite);
tracer.Trace("TestMessage: ", "name");
EXPECT_STREQ("", TraceMarkerMock::msg_written.c_str());
tracer.tracing_enabled_.val_ = 1;
tracer.Trace("TestMessage: ", "name");
EXPECT_STREQ("TestMessage: name", TraceMarkerMock::msg_written.c_str());
tracer.tracing_enabled_.val_ = 0;
tracer.Trace("TestMessageNoUse: ", "name");
EXPECT_STREQ("TestMessage: name", TraceMarkerMock::msg_written.c_str());
}
} // namespace gestures