Home | History | Annotate | Download | only in ADT
      1 //===- llvm/unittest/ADT/SmallStringTest.cpp ------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // SmallString unit tests.
     11 //
     12 //===----------------------------------------------------------------------===//
     13 
     14 #include "gtest/gtest.h"
     15 #include "llvm/ADT/SmallString.h"
     16 #include <stdarg.h>
     17 #include <climits>
     18 #include <cstring>
     19 
     20 using namespace llvm;
     21 
     22 namespace {
     23 
     24 // Test fixture class
     25 class SmallStringTest : public testing::Test {
     26 protected:
     27   typedef SmallString<40> StringType;
     28 
     29   StringType theString;
     30 
     31   void assertEmpty(StringType & v) {
     32     // Size tests
     33     EXPECT_EQ(0u, v.size());
     34     EXPECT_TRUE(v.empty());
     35     // Iterator tests
     36     EXPECT_TRUE(v.begin() == v.end());
     37   }
     38 };
     39 
     40 // New string test.
     41 TEST_F(SmallStringTest, EmptyStringTest) {
     42   SCOPED_TRACE("EmptyStringTest");
     43   assertEmpty(theString);
     44   EXPECT_TRUE(theString.rbegin() == theString.rend());
     45 }
     46 
     47 }
     48 
     49