blob: 130eb4a3d73d6c5f66006dbffd9fcd04ddd600e1 [file] [log] [blame]
Hans Wennborg83e6e1e2014-04-30 16:25:02 +00001//===----------- StringTableBuilderTest.cpp -------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "gtest/gtest.h"
11#include "llvm/Object/StringTableBuilder.h"
12#include <string>
13
14using namespace llvm;
15
16namespace {
17
18TEST(StringTableBuilderTest, Basic) {
19 StringTableBuilder B;
20
21 B.add("foo");
22 B.add("bar");
23 B.add("foobar");
24
25 B.finalize();
26
27 std::string Expected;
28 Expected += '\x00';
29 Expected += "foobar";
30 Expected += '\x00';
31 Expected += "foo";
32 Expected += '\x00';
33
34 EXPECT_EQ(Expected, B.data());
35 EXPECT_EQ(1U, B.getOffset("foobar"));
36 EXPECT_EQ(4U, B.getOffset("bar"));
37 EXPECT_EQ(8U, B.getOffset("foo"));
38}
39
40}