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<const Downloader>(new FaultyDownloader), | 116 scoped_ptr<const 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. |
| 126 class HangingDownloader : public Downloader { |
| 127 public: |
| 128 HangingDownloader() {} |
| 129 virtual ~HangingDownloader() {} |
| 130 |
| 131 // Downloader implementation. |
| 132 virtual void Download(const std::string& url, |
| 133 scoped_ptr<Callback> downloaded) const {} |
| 134 }; |
| 135 |
| 136 TEST_F(RetrieverTest, RequestsDontStack) { |
| 137 Retriever slow_retriever(FakeDownloader::kFakeDataUrl, |
| 138 scoped_ptr<const Downloader>(new HangingDownloader), |
| 139 scoped_ptr<Storage>(new FakeStorage)); |
| 140 |
| 141 slow_retriever.Retrieve(kKey, BuildCallback()); |
| 142 EXPECT_FALSE(success_); |
| 143 EXPECT_TRUE(key_.empty()); |
| 144 |
| 145 #if !defined(NDEBUG) |
| 146 // This request should cause an assert. |
| 147 ASSERT_DEATH(slow_retriever.Retrieve(kKey, BuildCallback()), ""); |
| 148 #endif |
| 149 } |
| 150 |
125 } // namespace | 151 } // namespace |
126 | 152 |
127 } // namespace addressinput | 153 } // namespace addressinput |
128 } // namespace i18n | 154 } // namespace i18n |
OLD | NEW |