root/gpu/command_buffer/common/debug_marker_manager_unittest.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. SetUp
  2. TearDown
  3. TEST_F

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "gpu/command_buffer/common/debug_marker_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_mock.h"

namespace gpu {
namespace gles2 {

class DebugMarkerManagerTest : public testing::Test {
 protected:
  virtual void SetUp() {
  }

  virtual void TearDown() {
  }

  DebugMarkerManager manager_;
};

TEST_F(DebugMarkerManagerTest, Basic) {
  // Test we can get root
  EXPECT_STREQ("", manager_.GetMarker().c_str());
  // Test it's safe to pop an empty stack.
  manager_.PopGroup();
  // Test we can still get root.
  EXPECT_STREQ("", manager_.GetMarker().c_str());
  // Test setting a marker.
  manager_.SetMarker("mark1");
  EXPECT_STREQ(".mark1", manager_.GetMarker().c_str());
  manager_.SetMarker("mark2");
  EXPECT_STREQ(".mark2", manager_.GetMarker().c_str());
  // Test pushing a group.
  manager_.PushGroup("abc");
  EXPECT_STREQ(".abc", manager_.GetMarker().c_str());
  // Test setting a marker on the group
  manager_.SetMarker("mark3");
  EXPECT_STREQ(".abc.mark3", manager_.GetMarker().c_str());
  manager_.SetMarker("mark4");
  EXPECT_STREQ(".abc.mark4", manager_.GetMarker().c_str());
  // Test pushing a 2nd group.
  manager_.PushGroup("def");
  EXPECT_STREQ(".abc.def", manager_.GetMarker().c_str());
  // Test setting a marker on the group
  manager_.SetMarker("mark5");
  EXPECT_STREQ(".abc.def.mark5", manager_.GetMarker().c_str());
  manager_.SetMarker("mark6");
  EXPECT_STREQ(".abc.def.mark6", manager_.GetMarker().c_str());
  // Test poping 2nd group.
  manager_.PopGroup();
  EXPECT_STREQ(".abc.mark4", manager_.GetMarker().c_str());
  manager_.PopGroup();
  EXPECT_STREQ(".mark2", manager_.GetMarker().c_str());
  manager_.PopGroup();
  EXPECT_STREQ(".mark2", manager_.GetMarker().c_str());
}

}  // namespace gles2
}  // namespace gpu



/* [<][>][^][v][top][bottom][index][help] */