Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: chrome/browser/chromeos/proxy_config_service_impl_unittest.cc

Issue 6597070: Allow ProxyConfigService to report "no configuration set" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cosmetics. Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/proxy_config_service_impl.h" 5 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/format_macros.h" 11 #include "base/format_macros.h"
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 class ProxyChangedObserver : public net::ProxyConfigService::Observer { 540 class ProxyChangedObserver : public net::ProxyConfigService::Observer {
541 public: 541 public:
542 explicit ProxyChangedObserver( 542 explicit ProxyChangedObserver(
543 const scoped_refptr<ProxyConfigServiceImpl>& config_service) 543 const scoped_refptr<ProxyConfigServiceImpl>& config_service)
544 : config_service_(config_service) { 544 : config_service_(config_service) {
545 config_service_->AddObserver(this); 545 config_service_->AddObserver(this);
546 } 546 }
547 virtual ~ProxyChangedObserver() { 547 virtual ~ProxyChangedObserver() {
548 config_service_->RemoveObserver(this); 548 config_service_->RemoveObserver(this);
549 } 549 }
550 net::ProxyConfigService::ConfigAvailability availability() const {
551 return availability_;
552 }
550 const net::ProxyConfig& config() const { 553 const net::ProxyConfig& config() const {
551 return config_; 554 return config_;
552 } 555 }
553 556
554 private: 557 private:
555 virtual void OnProxyConfigChanged(const net::ProxyConfig& config) { 558 virtual void OnProxyConfigChanged(
559 const net::ProxyConfig& config,
560 net::ProxyConfigService::ConfigAvailability availability) {
556 config_ = config; 561 config_ = config;
562 availability_ = availability;
557 } 563 }
558 564
559 scoped_refptr<ProxyConfigServiceImpl> config_service_; 565 scoped_refptr<ProxyConfigServiceImpl> config_service_;
566 net::ProxyConfigService::ConfigAvailability availability_;
560 net::ProxyConfig config_; 567 net::ProxyConfig config_;
561 }; 568 };
562 569
563 // Init with direct. 570 // Init with direct.
564 ProxyConfigServiceImpl::ProxyConfig init_config; 571 ProxyConfigServiceImpl::ProxyConfig init_config;
565 SetAutomaticProxy(MK_MODE(DIRECT), MK_SRC(OWNER), NULL, &init_config, 572 SetAutomaticProxy(MK_MODE(DIRECT), MK_SRC(OWNER), NULL, &init_config,
566 &init_config.automatic_proxy); 573 &init_config.automatic_proxy);
567 CreateConfigService(init_config); 574 CreateConfigService(init_config);
568 575
569 ProxyChangedObserver observer(config_service()); 576 ProxyChangedObserver observer(config_service());
570 577
571 // Set to pac script from UI. 578 // Set to pac script from UI.
572 EXPECT_TRUE(config_service()->UISetProxyConfigToPACScript( 579 EXPECT_TRUE(config_service()->UISetProxyConfigToPACScript(
573 GURL("http://wpad.dat"))); 580 GURL("http://wpad.dat")));
574 // Retrieve config from IO thread. 581 // Retrieve config from IO thread.
575 net::ProxyConfig io_config; 582 net::ProxyConfig io_config;
576 SyncGetLatestProxyConfig(&io_config); 583 SyncGetLatestProxyConfig(&io_config);
577 584
578 // Observer should have gotten the same new proxy config. 585 // Observer should have gotten the same new proxy config.
586 EXPECT_EQ(net::ProxyConfigService::CONFIG_VALID, observer.availability());
579 EXPECT_TRUE(io_config.Equals(observer.config())); 587 EXPECT_TRUE(io_config.Equals(observer.config()));
580 } 588 }
581 589
582 TEST_F(ProxyConfigServiceImplTest, SerializeAndDeserialize) { 590 TEST_F(ProxyConfigServiceImplTest, SerializeAndDeserialize) {
583 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 591 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
584 if (!tests[i].is_valid) 592 if (!tests[i].is_valid)
585 continue; 593 continue;
586 594
587 SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i, 595 SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i,
588 tests[i].description.c_str())); 596 tests[i].description.c_str()));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 TestReadWriteAccessForScheme(MK_SRC(POLICY), socks_uri, "socks"); 659 TestReadWriteAccessForScheme(MK_SRC(POLICY), socks_uri, "socks");
652 660
653 // Init with owner source. 661 // Init with owner source.
654 TestReadWriteAccessForScheme(MK_SRC(OWNER), http_uri, "http"); 662 TestReadWriteAccessForScheme(MK_SRC(OWNER), http_uri, "http");
655 TestReadWriteAccessForScheme(MK_SRC(OWNER), https_uri, "https"); 663 TestReadWriteAccessForScheme(MK_SRC(OWNER), https_uri, "https");
656 TestReadWriteAccessForScheme(MK_SRC(OWNER), ftp_uri, "ftp"); 664 TestReadWriteAccessForScheme(MK_SRC(OWNER), ftp_uri, "ftp");
657 TestReadWriteAccessForScheme(MK_SRC(OWNER), socks_uri, "socks"); 665 TestReadWriteAccessForScheme(MK_SRC(OWNER), socks_uri, "socks");
658 } 666 }
659 667
660 } // namespace chromeos 668 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698