dhcp_proxy_script_fetcher_factory_unittest.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 "net/proxy/dhcp_proxy_script_fetcher.h" 6#include "net/proxy/dhcp_proxy_script_fetcher_factory.h" 7#include "net/url_request/url_request_test_util.h" 8#include "testing/gtest/include/gtest/gtest.h" 9 10namespace net { 11namespace { 12 13TEST(DhcpProxyScriptFetcherFactoryTest, DoNothingWhenDisabled) { 14 DhcpProxyScriptFetcherFactory factory; 15 factory.set_enabled(false); 16 scoped_ptr<DhcpProxyScriptFetcher> fetcher(factory.Create(NULL)); 17 EXPECT_EQ("", fetcher->GetFetcherName()); 18} 19 20#if defined(OS_WIN) 21TEST(DhcpProxyScriptFetcherFactoryTest, WindowsFetcherOnWindows) { 22 DhcpProxyScriptFetcherFactory factory; 23 factory.set_enabled(true); 24 25 scoped_ptr<TestURLRequestContext> context(new TestURLRequestContext()); 26 scoped_ptr<DhcpProxyScriptFetcher> fetcher(factory.Create(context.get())); 27 EXPECT_EQ("win", fetcher->GetFetcherName()); 28} 29#endif // defined(OS_WIN) 30 31TEST(DhcpProxyScriptFetcherFactoryTest, IsSupported) { 32#if defined(OS_WIN) 33 ASSERT_TRUE(DhcpProxyScriptFetcherFactory::IsSupported()); 34#else 35 ASSERT_FALSE(DhcpProxyScriptFetcherFactory::IsSupported()); 36#endif // defined(OS_WIN) 37} 38 39TEST(DhcpProxyScriptFetcherFactoryTest, SetEnabled) { 40 DhcpProxyScriptFetcherFactory factory; 41#if defined(OS_WIN) 42 EXPECT_TRUE(factory.enabled()); 43#else 44 EXPECT_FALSE(factory.enabled()); 45#endif // defined(OS_WIN) 46 47 factory.set_enabled(false); 48 EXPECT_FALSE(factory.enabled()); 49 50 factory.set_enabled(true); 51#if defined(OS_WIN) 52 EXPECT_TRUE(factory.enabled()); 53#else 54 EXPECT_FALSE(factory.enabled()); 55#endif // defined(OS_WIN) 56} 57 58} // namespace 59} // namespace net 60