12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/test/chromedriver/chrome/status.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(StatusTest, Ok) { 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status ok(kOk); 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(ok.IsOk()); 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(ok.IsError()); 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_EQ(kOk, ok.code()); 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_STREQ("ok", ok.message().c_str()); 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(StatusTest, Error) { 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status error(kUnknownCommand); 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(error.IsOk()); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(error.IsError()); 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_EQ(kUnknownCommand, error.code()); 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_STREQ("unknown command", error.message().c_str()); 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(StatusTest, ErrorWithDetails) { 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status error(kUnknownError, "something happened"); 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(error.IsOk()); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(error.IsError()); 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_EQ(kUnknownError, error.code()); 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_STREQ("unknown error: something happened", error.message().c_str()); 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(StatusTest, ErrorWithCause) { 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status error( 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kUnknownCommand, "quit", 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status( 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kUnknownError, "something happened", 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status(kSessionNotCreatedException))); 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(error.IsOk()); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(error.IsError()); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_EQ(kUnknownCommand, error.code()); 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_STREQ( 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "unknown command: quit\n" 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "from unknown error: something happened\n" 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "from session not created exception", 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) error.message().c_str()); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(StatusTest, AddDetails) { 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Status error(kUnknownError); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) error.AddDetails("details"); 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_STREQ("unknown error\n (details)", error.message().c_str()); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 53