1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file. 4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "crazy_linker_error.h" 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include <minitest/minitest.h> 8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace crazy { 10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, ConstructEmpty) { 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error; 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("", error.c_str()); 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, ConstructWithString) { 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error("Foo Bar"); 18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("Foo Bar", error.c_str()); 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, CopyConstructor) { 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error("FooFoo"); 23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error2(error); 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("FooFoo", error2.c_str()); 26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, Set) { 29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error; 30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) error.Set("BarFoo"); 31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("BarFoo", error.c_str()); 32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) error.Set("FooBar"); 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("FooBar", error.c_str()); 34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 36f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, Append) { 37f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error("Foo"); 38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) error.Append("Bar"); 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("FooBar", error.c_str()); 40f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 41f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 42f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, Format) { 43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error; 44f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) error.Format("%s %s!", "Hi", "Cowboy"); 45f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("Hi Cowboy!", error.c_str()); 46f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)TEST(Error, AppendFormat) { 49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) Error error("Hi"); 50f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) error.AppendFormat(" there %s!", "Cowboy"); 51f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_STREQ("Hi there Cowboy!", error.c_str()); 52f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 53f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 54f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} // namespace crazy 55