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 "base/base64.h" | 5 #include "base/base64.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace base { | 9 namespace base { |
10 | 10 |
11 TEST(Base64Test, Basic) { | 11 TEST(Base64Test, Basic) { |
12 const std::string kText = "hello world"; | 12 const std::string kText = "hello world"; |
13 const std::string kBase64Text = "aGVsbG8gd29ybGQ="; | 13 const std::string kBase64Text = "aGVsbG8gd29ybGQ="; |
14 | 14 |
15 std::string encoded; | 15 std::string encoded; |
16 std::string decoded; | 16 std::string decoded; |
17 bool ok; | 17 bool ok; |
18 | 18 |
19 Base64Encode(kText, &encoded); | 19 Base64Encode(kText, &encoded); |
20 EXPECT_EQ(kBase64Text, encoded); | 20 EXPECT_EQ(kBase64Text, encoded); |
21 | 21 |
22 ok = Base64Decode(encoded, &decoded); | 22 ok = Base64Decode(encoded, &decoded); |
23 EXPECT_TRUE(ok); | 23 EXPECT_TRUE(ok); |
24 EXPECT_EQ(kText, decoded); | 24 EXPECT_EQ(kText, decoded); |
25 } | 25 } |
26 | 26 |
| 27 TEST(Base64Test, InPlace) { |
| 28 const std::string kText = "hello world"; |
| 29 const std::string kBase64Text = "aGVsbG8gd29ybGQ="; |
| 30 std::string text(kText); |
| 31 |
| 32 Base64Encode(text, &text); |
| 33 EXPECT_EQ(kBase64Text, text); |
| 34 |
| 35 bool ok = Base64Decode(text, &text); |
| 36 EXPECT_TRUE(ok); |
| 37 EXPECT_EQ(text, kText); |
| 38 } |
| 39 |
27 } // namespace base | 40 } // namespace base |
OLD | NEW |