blob: 099d8159c91728b57abfd21a95d0cb106e446b1a [file] [log] [blame]
Daniel Dunbar014db9d2009-07-16 17:00:06 +00001//===- 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
Daniel Dunbar014db9d2009-07-16 17:00:06 +000047}
48