// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/proxy/mojo_proxy_resolver_v8_tracing_bindings.h" #include #include #include #include "base/macros.h" #include "base/strings/utf_string_conversions.h" #include "testing/gtest/include/gtest/gtest.h" namespace net { class MojoProxyResolverV8TracingBindingsTest : public testing::Test { public: MojoProxyResolverV8TracingBindingsTest() = default; void SetUp() override { bindings_.reset(new MojoProxyResolverV8TracingBindings< MojoProxyResolverV8TracingBindingsTest>(this)); } void Alert(const mojo::String& message) { alerts_.push_back(message.To()); } void OnError(int32_t line_number, const mojo::String& message) { errors_.push_back(std::make_pair(line_number, message.To())); } void ResolveDns(interfaces::HostResolverRequestInfoPtr request_info, interfaces::HostResolverRequestClientPtr client) {} protected: scoped_ptr> bindings_; std::vector alerts_; std::vector> errors_; private: DISALLOW_COPY_AND_ASSIGN(MojoProxyResolverV8TracingBindingsTest); }; TEST_F(MojoProxyResolverV8TracingBindingsTest, Basic) { bindings_->Alert(base::ASCIIToUTF16("alert")); bindings_->OnError(-1, base::ASCIIToUTF16("error")); EXPECT_TRUE(bindings_->GetHostResolver()); EXPECT_FALSE(bindings_->GetBoundNetLog().net_log()); ASSERT_EQ(1u, alerts_.size()); EXPECT_EQ("alert", alerts_[0]); ASSERT_EQ(1u, errors_.size()); EXPECT_EQ(-1, errors_[0].first); EXPECT_EQ("error", errors_[0].second); } } // namespace net