172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// found in the LICENSE file. 472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/sync/js_test_util.h" 672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "base/basictypes.h" 872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/sync/js_arg_list.h" 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace browser_sync { 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid PrintTo(const JsArgList& args, ::std::ostream* os) { 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen *os << args.ToString(); 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 1572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsennamespace { 1772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 1872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Matcher implementation for HasArgs(). 1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenclass HasArgsMatcher 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen : public ::testing::MatcherInterface<const JsArgList&> { 2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen public: 2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen explicit HasArgsMatcher(const JsArgList& expected_args) 2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen : expected_args_(expected_args) {} 2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual ~HasArgsMatcher() {} 2672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 2772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual bool MatchAndExplain( 2872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const JsArgList& args, 2972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen ::testing::MatchResultListener* listener) const { 3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // No need to annotate listener since we already define PrintTo(). 3172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return args.Get().Equals(&expected_args_.Get()); 3272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual void DescribeTo(::std::ostream* os) const { 3572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen *os << "has args " << expected_args_.ToString(); 3672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 3772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 3872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen virtual void DescribeNegationTo(::std::ostream* os) const { 3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen *os << "doesn't have args " << expected_args_.ToString(); 4072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 4172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen private: 4372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const JsArgList expected_args_; 4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen DISALLOW_COPY_AND_ASSIGN(HasArgsMatcher); 4672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen}; 4772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 4872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace 4972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen::testing::Matcher<const JsArgList&> HasArgs(const JsArgList& expected_args) { 5172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return ::testing::MakeMatcher(new HasArgsMatcher(expected_args)); 5272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 5372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen::testing::Matcher<const JsArgList&> HasArgsAsList( 5572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const ListValue& expected_args) { 5672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen return HasArgs(JsArgList(expected_args)); 5772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 5872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 5972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsBackend::MockJsBackend() {} 6072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 6172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsBackend::~MockJsBackend() {} 6272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 6372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsFrontend::MockJsFrontend() {} 6472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 6572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsFrontend::~MockJsFrontend() {} 6672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 6772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsEventHandler::MockJsEventHandler() {} 6872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 6972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsEventHandler::~MockJsEventHandler() {} 7072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 7172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsEventRouter::MockJsEventRouter() {} 7272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 7372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian MonsenMockJsEventRouter::~MockJsEventRouter() {} 7472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 7572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} // namespace browser_sync 7672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 77