• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "chrome/test/chromedriver/chrome/status.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 
TEST(StatusTest,Ok)8 TEST(StatusTest, Ok) {
9   Status ok(kOk);
10   ASSERT_TRUE(ok.IsOk());
11   ASSERT_FALSE(ok.IsError());
12   ASSERT_EQ(kOk, ok.code());
13   ASSERT_STREQ("ok", ok.message().c_str());
14 }
15 
TEST(StatusTest,Error)16 TEST(StatusTest, Error) {
17   Status error(kUnknownCommand);
18   ASSERT_FALSE(error.IsOk());
19   ASSERT_TRUE(error.IsError());
20   ASSERT_EQ(kUnknownCommand, error.code());
21   ASSERT_STREQ("unknown command", error.message().c_str());
22 }
23 
TEST(StatusTest,ErrorWithDetails)24 TEST(StatusTest, ErrorWithDetails) {
25   Status error(kUnknownError, "something happened");
26   ASSERT_FALSE(error.IsOk());
27   ASSERT_TRUE(error.IsError());
28   ASSERT_EQ(kUnknownError, error.code());
29   ASSERT_STREQ("unknown error: something happened", error.message().c_str());
30 }
31 
TEST(StatusTest,ErrorWithCause)32 TEST(StatusTest, ErrorWithCause) {
33   Status error(
34       kUnknownCommand, "quit",
35       Status(
36           kUnknownError, "something happened",
37           Status(kSessionNotCreatedException)));
38   ASSERT_FALSE(error.IsOk());
39   ASSERT_TRUE(error.IsError());
40   ASSERT_EQ(kUnknownCommand, error.code());
41   ASSERT_STREQ(
42       "unknown command: quit\n"
43       "from unknown error: something happened\n"
44       "from session not created exception",
45       error.message().c_str());
46 }
47 
TEST(StatusTest,AddDetails)48 TEST(StatusTest, AddDetails) {
49   Status error(kUnknownError);
50   error.AddDetails("details");
51   ASSERT_STREQ("unknown error\n  (details)", error.message().c_str());
52 }
53