OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/pickle.h" | 9 #include "base/pickle.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 float outfloat; | 51 float outfloat; |
52 EXPECT_TRUE(pickle.ReadFloat(&iter, &outfloat)); | 52 EXPECT_TRUE(pickle.ReadFloat(&iter, &outfloat)); |
53 EXPECT_EQ(testfloat, outfloat); | 53 EXPECT_EQ(testfloat, outfloat); |
54 | 54 |
55 const char* outdata; | 55 const char* outdata; |
56 int outdatalen; | 56 int outdatalen; |
57 EXPECT_TRUE(pickle.ReadData(&iter, &outdata, &outdatalen)); | 57 EXPECT_TRUE(pickle.ReadData(&iter, &outdata, &outdatalen)); |
58 EXPECT_EQ(testdatalen, outdatalen); | 58 EXPECT_EQ(testdatalen, outdatalen); |
59 EXPECT_EQ(memcmp(testdata, outdata, outdatalen), 0); | 59 EXPECT_EQ(memcmp(testdata, outdata, outdatalen), 0); |
60 | 60 |
61 EXPECT_TRUE(pickle.ReadData(&iter, &outdata, &outdatalen)); | |
62 EXPECT_EQ(testdatalen, outdatalen); | |
63 EXPECT_EQ(memcmp(testdata, outdata, outdatalen), 0); | |
64 | |
65 // reads past the end should fail | 61 // reads past the end should fail |
66 EXPECT_FALSE(pickle.ReadInt(&iter, &outint)); | 62 EXPECT_FALSE(pickle.ReadInt(&iter, &outint)); |
67 } | 63 } |
68 | 64 |
69 } // namespace | 65 } // namespace |
70 | 66 |
71 TEST(PickleTest, EncodeDecode) { | 67 TEST(PickleTest, EncodeDecode) { |
72 Pickle pickle; | 68 Pickle pickle; |
73 | 69 |
74 EXPECT_TRUE(pickle.WriteInt(testint)); | 70 EXPECT_TRUE(pickle.WriteInt(testint)); |
75 EXPECT_TRUE(pickle.WriteString(teststr)); | 71 EXPECT_TRUE(pickle.WriteString(teststr)); |
76 EXPECT_TRUE(pickle.WriteWString(testwstr)); | 72 EXPECT_TRUE(pickle.WriteWString(testwstr)); |
77 EXPECT_TRUE(pickle.WriteBool(testbool1)); | 73 EXPECT_TRUE(pickle.WriteBool(testbool1)); |
78 EXPECT_TRUE(pickle.WriteBool(testbool2)); | 74 EXPECT_TRUE(pickle.WriteBool(testbool2)); |
79 EXPECT_TRUE(pickle.WriteUInt16(testuint16)); | 75 EXPECT_TRUE(pickle.WriteUInt16(testuint16)); |
80 EXPECT_TRUE(pickle.WriteFloat(testfloat)); | 76 EXPECT_TRUE(pickle.WriteFloat(testfloat)); |
81 EXPECT_TRUE(pickle.WriteData(testdata, testdatalen)); | 77 EXPECT_TRUE(pickle.WriteData(testdata, testdatalen)); |
82 | |
83 // Over allocate BeginWriteData so we can test TrimWriteData. | |
84 char* dest = pickle.BeginWriteData(testdatalen + 100); | |
85 EXPECT_TRUE(dest); | |
86 memcpy(dest, testdata, testdatalen); | |
87 | |
88 pickle.TrimWriteData(testdatalen); | |
89 | |
90 VerifyResult(pickle); | 78 VerifyResult(pickle); |
91 | 79 |
92 // test copy constructor | 80 // test copy constructor |
93 Pickle pickle2(pickle); | 81 Pickle pickle2(pickle); |
94 VerifyResult(pickle2); | 82 VerifyResult(pickle2); |
95 | 83 |
96 // test operator= | 84 // test operator= |
97 Pickle pickle3; | 85 Pickle pickle3; |
98 pickle3 = pickle; | 86 pickle3 = pickle; |
99 VerifyResult(pickle3); | 87 VerifyResult(pickle3); |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data))); | 321 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data))); |
334 | 322 |
335 PickleIterator iter(pickle); | 323 PickleIterator iter(pickle); |
336 const char* outdata_char = NULL; | 324 const char* outdata_char = NULL; |
337 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data))); | 325 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data))); |
338 | 326 |
339 int outdata; | 327 int outdata; |
340 memcpy(&outdata, outdata_char, sizeof(outdata)); | 328 memcpy(&outdata, outdata_char, sizeof(outdata)); |
341 EXPECT_EQ(data, outdata); | 329 EXPECT_EQ(data, outdata); |
342 } | 330 } |
OLD | NEW |