diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-16 17:00:06 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-16 17:00:06 +0000 |
commit | 179bdc13308e474d434ee8e6d2bfc4e585512a36 (patch) | |
tree | 11fdb6dbceb33e26515c33d8310d23b38d8fdf97 /unittests | |
parent | 3c761e5b06fcf6df224111acd003c6eed1c5d588 (diff) | |
download | external_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.cpp | 64 |
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")); +} + +} + |