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 20using namespace llvm; 21 22namespace { 23 24// Test fixture class 25class SmallStringTest : public testing::Test { 26protected: 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. 41TEST_F(SmallStringTest, EmptyStringTest) { 42 SCOPED_TRACE("EmptyStringTest"); 43 assertEmpty(theString); 44 EXPECT_TRUE(theString.rbegin() == theString.rend()); 45} 46 47} 48 49