CVS Repository/ srcgnullvmunittestsBitcodeAttic/ BitstreamWriterTest.cpp

Annotated Revision  1.1.1.1  Back
1.1
 (patrick  14-Jan-17) 
1
: //===- BitstreamWriterTest.cpp - Tests for BitstreamWriter ----------------===//
1.1
 (patrick  14-Jan-17) 
2
: //
1.1
 (patrick  14-Jan-17) 
3
: //                     The LLVM Compiler Infrastructure
1.1
 (patrick  14-Jan-17) 
4
: //
1.1
 (patrick  14-Jan-17) 
5
: // This file is distributed under the University of Illinois Open Source
1.1
 (patrick  14-Jan-17) 
6
: // License. See LICENSE.TXT for details.
1.1
 (patrick  14-Jan-17) 
7
: //
1.1
 (patrick  14-Jan-17) 
8
: //===----------------------------------------------------------------------===//
1.1
 (patrick  14-Jan-17) 
9
: 
1.1
 (patrick  14-Jan-17) 
10
: #include "llvm/ADT/STLExtras.h"
1.1
 (patrick  14-Jan-17) 
11
: #include "llvm/ADT/SmallString.h"
1.1
 (patrick  14-Jan-17) 
12
: #include "llvm/Bitcode/BitstreamWriter.h"
1.1
 (patrick  14-Jan-17) 
13
: #include "gtest/gtest.h"
1.1
 (patrick  14-Jan-17) 
14
: 
1.1
 (patrick  14-Jan-17) 
15
: using namespace llvm;
1.1
 (patrick  14-Jan-17) 
16
: 
1.1
 (patrick  14-Jan-17) 
17
: namespace {
1.1
 (patrick  14-Jan-17) 
18
: 
1.1
 (patrick  14-Jan-17) 
19
: TEST(BitstreamWriterTest, emitBlob) {
1.1
 (patrick  14-Jan-17) 
20
:   SmallString<64> Buffer;
1.1
 (patrick  14-Jan-17) 
21
:   BitstreamWriter W(Buffer);
1.1
 (patrick  14-Jan-17) 
22
:   W.emitBlob("str", /* ShouldEmitSize */ false);
1.1
 (patrick  14-Jan-17) 
23
:   EXPECT_EQ(StringRef("str\0", 4), Buffer);
1.1
 (patrick  14-Jan-17) 
24
: }
1.1
 (patrick  14-Jan-17) 
25
: 
1.1
 (patrick  14-Jan-17) 
26
: TEST(BitstreamWriterTest, emitBlobWithSize) {
1.1
 (patrick  14-Jan-17) 
27
:   SmallString<64> Buffer;
1.1
 (patrick  14-Jan-17) 
28
:   {
1.1
 (patrick  14-Jan-17) 
29
:     BitstreamWriter W(Buffer);
1.1
 (patrick  14-Jan-17) 
30
:     W.emitBlob("str");
1.1
 (patrick  14-Jan-17) 
31
:   }
1.1
 (patrick  14-Jan-17) 
32
:   SmallString<64> Expected;
1.1
 (patrick  14-Jan-17) 
33
:   {
1.1
 (patrick  14-Jan-17) 
34
:     BitstreamWriter W(Expected);
1.1
 (patrick  14-Jan-17) 
35
:     W.EmitVBR(3, 6);
1.1
 (patrick  14-Jan-17) 
36
:     W.FlushToWord();
1.1
 (patrick  14-Jan-17) 
37
:     W.Emit('s', 8);
1.1
 (patrick  14-Jan-17) 
38
:     W.Emit('t', 8);
1.1
 (patrick  14-Jan-17) 
39
:     W.Emit('r', 8);
1.1
 (patrick  14-Jan-17) 
40
:     W.Emit(0, 8);
1.1
 (patrick  14-Jan-17) 
41
:   }
1.1
 (patrick  14-Jan-17) 
42
:   EXPECT_EQ(StringRef(Expected), Buffer);
1.1
 (patrick  14-Jan-17) 
43
: }
1.1
 (patrick  14-Jan-17) 
44
: 
1.1
 (patrick  14-Jan-17) 
45
: TEST(BitstreamWriterTest, emitBlobEmpty) {
1.1
 (patrick  14-Jan-17) 
46
:   SmallString<64> Buffer;
1.1
 (patrick  14-Jan-17) 
47
:   BitstreamWriter W(Buffer);
1.1
 (patrick  14-Jan-17) 
48
:   W.emitBlob("", /* ShouldEmitSize */ false);
1.1
 (patrick  14-Jan-17) 
49
:   EXPECT_EQ(StringRef(""), Buffer);
1.1
 (patrick  14-Jan-17) 
50
: }
1.1
 (patrick  14-Jan-17) 
51
: 
1.1
 (patrick  14-Jan-17) 
52
: TEST(BitstreamWriterTest, emitBlob4ByteAligned) {
1.1
 (patrick  14-Jan-17) 
53
:   SmallString<64> Buffer;
1.1
 (patrick  14-Jan-17) 
54
:   BitstreamWriter W(Buffer);
1.1
 (patrick  14-Jan-17) 
55
:   W.emitBlob("str0", /* ShouldEmitSize */ false);
1.1
 (patrick  14-Jan-17) 
56
:   EXPECT_EQ(StringRef("str0"), Buffer);
1.1
 (patrick  14-Jan-17) 
57
: }
1.1
 (patrick  14-Jan-17) 
58
: 
1.1
 (patrick  14-Jan-17) 
59
: } // end namespace