| OLD | NEW |
| 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 Retriever bad_retriever(FakeDownloader::kFakeDataUrl, | 115 Retriever bad_retriever(FakeDownloader::kFakeDataUrl, |
| 116 scoped_ptr<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 TEST_F(RetrieverTest, FaultyDownloaderFallback) { |
| 126 Retriever bad_retriever(FakeDownloader::kFakeDataUrl, |
| 127 scoped_ptr<Downloader>(new FaultyDownloader), |
| 128 scoped_ptr<Storage>(new FakeStorage)); |
| 129 const char kFallbackDataKey[] = "data/US"; |
| 130 bad_retriever.Retrieve(kFallbackDataKey, BuildCallback()); |
| 131 |
| 132 EXPECT_TRUE(success_); |
| 133 EXPECT_EQ(kFallbackDataKey, key_); |
| 134 EXPECT_FALSE(data_.empty()); |
| 135 EXPECT_NE(kEmptyData, data_); |
| 136 } |
| 137 |
| 125 // The downloader that doesn't get back to you. | 138 // The downloader that doesn't get back to you. |
| 126 class HangingDownloader : public Downloader { | 139 class HangingDownloader : public Downloader { |
| 127 public: | 140 public: |
| 128 HangingDownloader() {} | 141 HangingDownloader() {} |
| 129 virtual ~HangingDownloader() {} | 142 virtual ~HangingDownloader() {} |
| 130 | 143 |
| 131 // Downloader implementation. | 144 // Downloader implementation. |
| 132 virtual void Download(const std::string& url, | 145 virtual void Download(const std::string& url, |
| 133 scoped_ptr<Callback> downloaded) {} | 146 scoped_ptr<Callback> downloaded) {} |
| 134 }; | 147 }; |
| 135 | 148 |
| 136 TEST_F(RetrieverTest, RequestsDontStack) { | 149 TEST_F(RetrieverTest, RequestsDontStack) { |
| 137 Retriever slow_retriever(FakeDownloader::kFakeDataUrl, | 150 Retriever slow_retriever(FakeDownloader::kFakeDataUrl, |
| 138 scoped_ptr<Downloader>(new HangingDownloader), | 151 scoped_ptr<Downloader>(new HangingDownloader), |
| 139 scoped_ptr<Storage>(new FakeStorage)); | 152 scoped_ptr<Storage>(new FakeStorage)); |
| 140 | 153 |
| 141 slow_retriever.Retrieve(kKey, BuildCallback()); | 154 slow_retriever.Retrieve(kKey, BuildCallback()); |
| 142 EXPECT_FALSE(success_); | 155 EXPECT_FALSE(success_); |
| 143 EXPECT_TRUE(key_.empty()); | 156 EXPECT_TRUE(key_.empty()); |
| 144 | 157 |
| 145 EXPECT_NO_FATAL_FAILURE(slow_retriever.Retrieve(kKey, BuildCallback())); | 158 EXPECT_NO_FATAL_FAILURE(slow_retriever.Retrieve(kKey, BuildCallback())); |
| 146 } | 159 } |
| 147 | 160 |
| 148 } // namespace | 161 } // namespace |
| 149 | 162 |
| 150 } // namespace addressinput | 163 } // namespace addressinput |
| 151 } // namespace i18n | 164 } // namespace i18n |
| OLD | NEW |