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

Side by Side Diff: third_party/libaddressinput/chromium/cpp/test/retriever_test.cc

Issue 127223003: [rAc - libaddressinput] Chrome download impl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync'd Created 6 years, 11 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) 2013 Google Inc. 1 // Copyright (C) 2013 Google Inc.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 23 matching lines...) Expand all
34 const char kKey[] = "data/CA/AB--fr"; 34 const char kKey[] = "data/CA/AB--fr";
35 35
36 // Empty data that the downloader can return. 36 // Empty data that the downloader can return.
37 const char kEmptyData[] = "{}"; 37 const char kEmptyData[] = "{}";
38 38
39 // Tests for Retriever object. 39 // Tests for Retriever object.
40 class RetrieverTest : public testing::Test { 40 class RetrieverTest : public testing::Test {
41 protected: 41 protected:
42 RetrieverTest() 42 RetrieverTest()
43 : retriever_(FakeDownloader::kFakeDataUrl, 43 : retriever_(FakeDownloader::kFakeDataUrl,
44 scoped_ptr<const Downloader>(new FakeDownloader), 44 scoped_ptr<Downloader>(new FakeDownloader),
45 scoped_ptr<Storage>(new FakeStorage)), 45 scoped_ptr<Storage>(new FakeStorage)),
46 success_(false), 46 success_(false),
47 key_(), 47 key_(),
48 data_() {} 48 data_() {}
49 49
50 virtual ~RetrieverTest() {} 50 virtual ~RetrieverTest() {}
51 51
52 scoped_ptr<Retriever::Callback> BuildCallback() { 52 scoped_ptr<Retriever::Callback> BuildCallback() {
53 return ::i18n::addressinput::BuildCallback( 53 return ::i18n::addressinput::BuildCallback(
54 this, &RetrieverTest::OnDataReady); 54 this, &RetrieverTest::OnDataReady);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 } 99 }
100 100
101 // The downloader that always fails. 101 // The downloader that always fails.
102 class FaultyDownloader : public Downloader { 102 class FaultyDownloader : public Downloader {
103 public: 103 public:
104 FaultyDownloader() {} 104 FaultyDownloader() {}
105 virtual ~FaultyDownloader() {} 105 virtual ~FaultyDownloader() {}
106 106
107 // Downloader implementation. 107 // Downloader implementation.
108 virtual void Download(const std::string& url, 108 virtual void Download(const std::string& url,
109 scoped_ptr<Callback> downloaded) const { 109 scoped_ptr<Callback> downloaded) {
110 (*downloaded)(false, url, "garbage"); 110 (*downloaded)(false, url, "garbage");
111 } 111 }
112 }; 112 };
113 113
114 TEST_F(RetrieverTest, FaultyDownloader) { 114 TEST_F(RetrieverTest, FaultyDownloader) {
115 Retriever bad_retriever(FakeDownloader::kFakeDataUrl, 115 Retriever bad_retriever(FakeDownloader::kFakeDataUrl,
116 scoped_ptr<const Downloader>(new FaultyDownloader), 116 scoped_ptr<Downloader>(new FaultyDownloader),
117 scoped_ptr<Storage>(new FakeStorage)); 117 scoped_ptr<Storage>(new FakeStorage));
118 bad_retriever.Retrieve(kKey, BuildCallback()); 118 bad_retriever.Retrieve(kKey, BuildCallback());
119 119
120 EXPECT_FALSE(success_); 120 EXPECT_FALSE(success_);
121 EXPECT_EQ(kKey, key_); 121 EXPECT_EQ(kKey, key_);
122 EXPECT_TRUE(data_.empty()); 122 EXPECT_TRUE(data_.empty());
123 } 123 }
124 124
125 // The downloader that doesn't get back to you. 125 // The downloader that doesn't get back to you.
126 class HangingDownloader : public Downloader { 126 class HangingDownloader : public Downloader {
127 public: 127 public:
128 HangingDownloader() {} 128 HangingDownloader() {}
129 virtual ~HangingDownloader() {} 129 virtual ~HangingDownloader() {}
130 130
131 // Downloader implementation. 131 // Downloader implementation.
132 virtual void Download(const std::string& url, 132 virtual void Download(const std::string& url,
133 scoped_ptr<Callback> downloaded) const {} 133 scoped_ptr<Callback> downloaded) {}
134 }; 134 };
135 135
136 TEST_F(RetrieverTest, RequestsDontStack) { 136 TEST_F(RetrieverTest, RequestsDontStack) {
137 Retriever slow_retriever(FakeDownloader::kFakeDataUrl, 137 Retriever slow_retriever(FakeDownloader::kFakeDataUrl,
138 scoped_ptr<const Downloader>(new HangingDownloader), 138 scoped_ptr<Downloader>(new HangingDownloader),
139 scoped_ptr<Storage>(new FakeStorage)); 139 scoped_ptr<Storage>(new FakeStorage));
140 140
141 slow_retriever.Retrieve(kKey, BuildCallback()); 141 slow_retriever.Retrieve(kKey, BuildCallback());
142 EXPECT_FALSE(success_); 142 EXPECT_FALSE(success_);
143 EXPECT_TRUE(key_.empty()); 143 EXPECT_TRUE(key_.empty());
144 144
145 #if !defined(NDEBUG) 145 #if !defined(NDEBUG)
146 // This request should cause an assert. 146 // This request should cause an assert.
147 ASSERT_DEATH(slow_retriever.Retrieve(kKey, BuildCallback()), ""); 147 ASSERT_DEATH(slow_retriever.Retrieve(kKey, BuildCallback()), "");
148 #endif 148 #endif
149 } 149 }
150 150
151 } // namespace 151 } // namespace
152 152
153 } // namespace addressinput 153 } // namespace addressinput
154 } // namespace i18n 154 } // namespace i18n
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698