Roll src/third_party/WebKit 44e0d7b:d79e3c1 (svn 190013:190016)
[chromium-blink-merge.git] / base / base64_unittest.cc
blob91651f4d39b6b3eecf06d9433ede90cc208162c0
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
3 // found in the LICENSE file.
5 #include "base/base64.h"
7 #include "testing/gtest/include/gtest/gtest.h"
9 namespace base {
11 TEST(Base64Test, Basic) {
12 const std::string kText = "hello world";
13 const std::string kBase64Text = "aGVsbG8gd29ybGQ=";
15 std::string encoded;
16 std::string decoded;
17 bool ok;
19 Base64Encode(kText, &encoded);
20 EXPECT_EQ(kBase64Text, encoded);
22 ok = Base64Decode(encoded, &decoded);
23 EXPECT_TRUE(ok);
24 EXPECT_EQ(kText, decoded);
27 TEST(Base64Test, InPlace) {
28 const std::string kText = "hello world";
29 const std::string kBase64Text = "aGVsbG8gd29ybGQ=";
30 std::string text(kText);
32 Base64Encode(text, &text);
33 EXPECT_EQ(kBase64Text, text);
35 bool ok = Base64Decode(text, &text);
36 EXPECT_TRUE(ok);
37 EXPECT_EQ(text, kText);
40 } // namespace base