From 4c638994ac2708a6131b55be8e855a653d55a4e9 Mon Sep 17 00:00:00 2001 From: Michael Gottesman Date: Wed, 31 Dec 2014 23:33:24 +0000 Subject: Add 2x constructors for TinyPtrVector, one that takes in one elemenet and the other that takes in an ArrayRef Currently one can only construct an empty TinyPtrVector. These are just missing elements of the API. llvm-svn: 225055 --- llvm/unittests/ADT/TinyPtrVectorTest.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'llvm/unittests/ADT/TinyPtrVectorTest.cpp') diff --git a/llvm/unittests/ADT/TinyPtrVectorTest.cpp b/llvm/unittests/ADT/TinyPtrVectorTest.cpp index ec868d4258a..a402e8be9df 100644 --- a/llvm/unittests/ADT/TinyPtrVectorTest.cpp +++ b/llvm/unittests/ADT/TinyPtrVectorTest.cpp @@ -412,3 +412,29 @@ TYPED_TEST(TinyPtrVectorTest, InsertRange) { } } + +TEST(TinyPtrVectorTest, SingleEltCtorTest) { + int v = 55; + TinyPtrVector V(&v); + + EXPECT_TRUE(V.size() == 1); + EXPECT_FALSE(V.empty()); + EXPECT_TRUE(V.front() == &v); +} + +TEST(TinyPtrVectorTest, ArrayRefCtorTest) { + int data_array[128]; + std::vector data; + + for (unsigned i = 0, e = 128; i != e; ++i) { + data_array[i] = 324 - int(i); + data.push_back(&data_array[i]); + } + + TinyPtrVector V(data); + EXPECT_TRUE(V.size() == 128); + EXPECT_FALSE(V.empty()); + for (unsigned i = 0, e = 128; i != e; ++i) { + EXPECT_TRUE(V[i] == data[i]); + } +} -- cgit v1.2.3