aboutsummaryrefslogtreecommitdiffstats
path: root/unittests
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
commit179bdc13308e474d434ee8e6d2bfc4e585512a36 (patch)
tree11fdb6dbceb33e26515c33d8310d23b38d8fdf97 /unittests
parent3c761e5b06fcf6df224111acd003c6eed1c5d588 (diff)
downloadexternal_llvm-179bdc13308e474d434ee8e6d2bfc4e585512a36.zip
external_llvm-179bdc13308e474d434ee8e6d2bfc4e585512a36.tar.gz
external_llvm-179bdc13308e474d434ee8e6d2bfc4e585512a36.tar.bz2
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')
-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 0000000..1883974
--- /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"));
+}
+
+}
+