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