|  | // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "base/base64.h" | 
|  |  | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace base { | 
|  |  | 
|  | TEST(Base64Test, Basic) { | 
|  | const std::string kText = "hello world"; | 
|  | const std::string kBase64Text = "aGVsbG8gd29ybGQ="; | 
|  |  | 
|  | std::string encoded; | 
|  | std::string decoded; | 
|  | bool ok; | 
|  |  | 
|  | Base64Encode(kText, &encoded); | 
|  | EXPECT_EQ(kBase64Text, encoded); | 
|  |  | 
|  | ok = Base64Decode(encoded, &decoded); | 
|  | EXPECT_TRUE(ok); | 
|  | EXPECT_EQ(kText, decoded); | 
|  | } | 
|  |  | 
|  | TEST(Base64Test, InPlace) { | 
|  | const std::string kText = "hello world"; | 
|  | const std::string kBase64Text = "aGVsbG8gd29ybGQ="; | 
|  | std::string text(kText); | 
|  |  | 
|  | Base64Encode(text, &text); | 
|  | EXPECT_EQ(kBase64Text, text); | 
|  |  | 
|  | bool ok = Base64Decode(text, &text); | 
|  | EXPECT_TRUE(ok); | 
|  | EXPECT_EQ(text, kText); | 
|  | } | 
|  |  | 
|  | }  // namespace base |