@@ -36,6 +36,98 @@ struct BinaryStreamTest : StreamTest {
36
36
};
37
37
}
38
38
39
+ TEST_F (StreamTest, AddressPrefix) {
40
+ s.Address (0x1 , 1 , " foo" );
41
+ EXPECT_EQ (" foo0x01" , TakeValue ());
42
+ }
43
+
44
+ TEST_F (StreamTest, AddressEmptyPrefix) {
45
+ s.Address (0x1 , 1 , nullptr );
46
+ EXPECT_EQ (" 0x01" , TakeValue ());
47
+ s.Address (0x1 , 1 , " " );
48
+ EXPECT_EQ (" 0x01" , TakeValue ());
49
+ }
50
+
51
+ TEST_F (StreamTest, AddressSuffix) {
52
+ s.Address (0x1 , 1 , nullptr , " foo" );
53
+ EXPECT_EQ (" 0x01foo" , TakeValue ());
54
+ }
55
+
56
+ TEST_F (StreamTest, AddressNoSuffix) {
57
+ s.Address (0x1 , 1 , nullptr , nullptr );
58
+ EXPECT_EQ (" 0x01" , TakeValue ());
59
+ s.Address (0x1 , 1 , nullptr , " " );
60
+ EXPECT_EQ (" 0x01" , TakeValue ());
61
+ }
62
+
63
+ TEST_F (StreamTest, AddressPrefixAndSuffix) {
64
+ s.Address (0x1 , 1 , " foo" , " bar" );
65
+ EXPECT_EQ (" foo0x01bar" , TakeValue ());
66
+ }
67
+
68
+ TEST_F (StreamTest, AddressSize) {
69
+ s.Address (0x0 , 0 );
70
+ EXPECT_EQ (" 0x0" , TakeValue ());
71
+ s.Address (0x1 , 0 );
72
+ EXPECT_EQ (" 0x1" , TakeValue ());
73
+
74
+ s.Address (0x1 , 1 );
75
+ EXPECT_EQ (" 0x01" , TakeValue ());
76
+ s.Address (0xf1 , 1 );
77
+ EXPECT_EQ (" 0xf1" , TakeValue ());
78
+ s.Address (0xff , 1 );
79
+ EXPECT_EQ (" 0xff" , TakeValue ());
80
+ s.Address (0x100 , 1 );
81
+ EXPECT_EQ (" 0x100" , TakeValue ());
82
+
83
+ s.Address (0xf00 , 4 );
84
+ EXPECT_EQ (" 0x00000f00" , TakeValue ());
85
+ s.Address (0x100 , 8 );
86
+ EXPECT_EQ (" 0x0000000000000100" , TakeValue ());
87
+ s.Address (0x100 , 10 );
88
+ EXPECT_EQ (" 0x00000000000000000100" , TakeValue ());
89
+ s.Address (0x1234 , 10 );
90
+ EXPECT_EQ (" 0x00000000000000001234" , TakeValue ());
91
+ }
92
+
93
+ TEST_F (StreamTest, AddressRange) {
94
+ s.AddressRange (0x100 , 0x101 , 2 );
95
+ EXPECT_EQ (" [0x0100-0x0101)" , TakeValue ());
96
+ }
97
+
98
+ TEST_F (StreamTest, AddressRangeEmptyRange) {
99
+ s.AddressRange (0x100 , 0x100 , 2 );
100
+ EXPECT_EQ (" [0x0100-0x0100)" , TakeValue ());
101
+ s.AddressRange (0x0 , 0x0 , 2 );
102
+ EXPECT_EQ (" [0x0000-0x0000)" , TakeValue ());
103
+ }
104
+
105
+ TEST_F (StreamTest, AddressRangeInvalidRange) {
106
+ s.AddressRange (0x100 , 0x0FF , 2 );
107
+ EXPECT_EQ (" [0x0100-0x00ff)" , TakeValue ());
108
+ s.AddressRange (0x100 , 0x0 , 2 );
109
+ EXPECT_EQ (" [0x0100-0x0000)" , TakeValue ());
110
+ }
111
+
112
+ TEST_F (StreamTest, AddressRangeSize) {
113
+ s.AddressRange (0x100 , 0x101 , 0 );
114
+ EXPECT_EQ (" [0x100-0x101)" , TakeValue ());
115
+ s.AddressRange (0x100 , 0x101 , 2 );
116
+ EXPECT_EQ (" [0x0100-0x0101)" , TakeValue ());
117
+ s.AddressRange (0x100 , 0x101 , 4 );
118
+ EXPECT_EQ (" [0x00000100-0x00000101)" , TakeValue ());
119
+
120
+ s.AddressRange (0x100 , 0x101 , 4 );
121
+ EXPECT_EQ (" [0x00000100-0x00000101)" , TakeValue ());
122
+ s.AddressRange (0x1 , 0x101 , 4 );
123
+ EXPECT_EQ (" [0x00000001-0x00000101)" , TakeValue ());
124
+ s.AddressRange (0x101 , 0x1 , 4 );
125
+ EXPECT_EQ (" [0x00000101-0x00000001)" , TakeValue ());
126
+
127
+ s.AddressRange (0x1 , 0x101 , 1 );
128
+ EXPECT_EQ (" [0x01-0x101)" , TakeValue ());
129
+ }
130
+
39
131
TEST_F (StreamTest, ChangingByteOrder) {
40
132
s.SetByteOrder (lldb::eByteOrderPDP);
41
133
EXPECT_EQ (lldb::eByteOrderPDP, s.GetByteOrder ());
0 commit comments