aboutsummaryrefslogtreecommitdiff
path: root/unittests/ADT/SmallStringTest.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-16 17:00:06 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-16 17:00:06 +0000
commit014db9ddf7782457fd761d90c4a6ba100ff24a43 (patch)
tree11fdb6dbceb33e26515c33d8310d23b38d8fdf97 /unittests/ADT/SmallStringTest.cpp
parent021da14dac8d3841c47ad742f84f2f1dc96448f6 (diff)
Add SmallString unit test.
- Patch by Ryan Flynn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76081 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/ADT/SmallStringTest.cpp')
-rw-r--r--unittests/ADT/SmallStringTest.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/unittests/ADT/SmallStringTest.cpp b/unittests/ADT/SmallStringTest.cpp
new file mode 100644
index 0000000000..188397476f
--- /dev/null
+++ b/unittests/ADT/SmallStringTest.cpp
@@ -0,0 +1,64 @@
+//===- 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());
+}
+
+TEST_F(SmallStringTest, AppendUINT64_MAX) {
+ SCOPED_TRACE("AppendUINT64_MAX");
+ theString.clear();
+ assertEmpty(theString);
+ theString.append_uint(UINT64_MAX);
+ EXPECT_TRUE(0 == strcmp(theString.c_str(),"18446744073709551615"));
+}
+
+TEST_F(SmallStringTest, AppendINT64_MIN) {
+ SCOPED_TRACE("AppendINT64_MIN");
+ theString.clear();
+ assertEmpty(theString);
+ theString.append_sint(INT64_MIN);
+ EXPECT_TRUE(0 == strcmp(theString.c_str(),"-9223372036854775808"));
+}
+
+}
+