diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2009-03-19 19:09:48 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2009-03-19 19:09:48 +0000 |
commit | 8be1ac213b20c5f4f6126d6ef955a9997f150ead (patch) | |
tree | 49319dcc08c5d492a5c0fa0eaa07421ef6b6e404 /unittests/Support/raw_ostream_test.cpp | |
parent | 56e04a80b3cbd348aaf8f1828ed28fb4a9de2312 (diff) | |
download | external_llvm-8be1ac213b20c5f4f6126d6ef955a9997f150ead.tar.gz external_llvm-8be1ac213b20c5f4f6126d6ef955a9997f150ead.tar.bz2 external_llvm-8be1ac213b20c5f4f6126d6ef955a9997f150ead.zip |
Renamed unittest files to have a consistent {Tt}est suffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67326 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Support/raw_ostream_test.cpp')
-rw-r--r-- | unittests/Support/raw_ostream_test.cpp | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/unittests/Support/raw_ostream_test.cpp b/unittests/Support/raw_ostream_test.cpp new file mode 100644 index 0000000000..7b86b2341a --- /dev/null +++ b/unittests/Support/raw_ostream_test.cpp @@ -0,0 +1,85 @@ +//===- llvm/unittest/Support/raw_ostream.cpp - raw_ostream unit tests -----===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" +#include "llvm/Support/raw_ostream.h" + +using namespace llvm; + +namespace { + +template<typename T> std::string printToString(const T &Value) { + std::string res; + llvm::raw_string_ostream(res) << Value; + return res; +} + +template<typename T> std::string printToStringUnbuffered(const T &Value) { + std::string res; + llvm::raw_string_ostream OS(res); + OS.SetUnbuffered(); + OS << Value; + return res; +} + +TEST(raw_ostreamTest, Types_Buffered) { + // Char + EXPECT_EQ("c", printToString('c')); + + // String + EXPECT_EQ("hello", printToString("hello")); + EXPECT_EQ("hello", printToString(std::string("hello"))); + + // Int + EXPECT_EQ("0", printToString(0)); + EXPECT_EQ("2425", printToString(2425)); + EXPECT_EQ("-2425", printToString(-2425)); + + // Long long + EXPECT_EQ("0", printToString(0LL)); + EXPECT_EQ("257257257235709", printToString(257257257235709LL)); + EXPECT_EQ("-257257257235709", printToString(-257257257235709LL)); + + // Double + EXPECT_EQ("1.100000e+00", printToString(1.1)); + + // void* + EXPECT_EQ("0x0", printToString((void*) 0)); + EXPECT_EQ("0xbeef", printToString((void*) 0xbeef)); + EXPECT_EQ("0xdeadbeef", printToString((void*) 0xdeadbeef)); +} + +TEST(raw_ostreamTest, Types_Unbuffered) { + // Char + EXPECT_EQ("c", printToStringUnbuffered('c')); + + // String + EXPECT_EQ("hello", printToStringUnbuffered("hello")); + EXPECT_EQ("hello", printToStringUnbuffered(std::string("hello"))); + + // Int + EXPECT_EQ("0", printToStringUnbuffered(0)); + EXPECT_EQ("2425", printToStringUnbuffered(2425)); + EXPECT_EQ("-2425", printToStringUnbuffered(-2425)); + + // Long long + EXPECT_EQ("0", printToStringUnbuffered(0LL)); + EXPECT_EQ("257257257235709", printToStringUnbuffered(257257257235709LL)); + EXPECT_EQ("-257257257235709", printToStringUnbuffered(-257257257235709LL)); + + // Double + EXPECT_EQ("1.100000e+00", printToStringUnbuffered(1.1)); + + // void* + EXPECT_EQ("0x0", printToStringUnbuffered((void*) 0)); + EXPECT_EQ("0xbeef", printToStringUnbuffered((void*) 0xbeef)); + EXPECT_EQ("0xdeadbeef", printToStringUnbuffered((void*) 0xdeadbeef)); +} + +} |