| //===- llvm/unittest/ADT/SmallStringTest.cpp ------------------------------===// | |
| // | |
| // The LLVM Compiler Infrastructure | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // SmallString unit tests. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "gtest/gtest.h" | |
| #include "llvm/ADT/SmallString.h" | |
| #include <stdarg.h> | |
| #include <climits> | |
| #include <cstring> | |
| using namespace llvm; | |
| namespace { | |
| // Test fixture class | |
| class SmallStringTest : public testing::Test { | |
| protected: | |
| typedef SmallString<40> StringType; | |
| StringType theString; | |
| void assertEmpty(StringType & v) { | |
| // Size tests | |
| EXPECT_EQ(0u, v.size()); | |
| EXPECT_TRUE(v.empty()); | |
| // Iterator tests | |
| EXPECT_TRUE(v.begin() == v.end()); | |
| } | |
| }; | |
| // New string test. | |
| TEST_F(SmallStringTest, EmptyStringTest) { | |
| SCOPED_TRACE("EmptyStringTest"); | |
| assertEmpty(theString); | |
| EXPECT_TRUE(theString.rbegin() == theString.rend()); | |
| } | |
| } | |