OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 import os | 5 import os |
6 import posixpath | 6 import posixpath |
7 | 7 |
8 from future import Future | 8 from future import Future |
9 from path_util import AssertIsDirectory, IsDirectory | 9 from path_util import AssertIsDirectory, IsDirectory |
10 | 10 |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 def __init__(self, fetcher): | 122 def __init__(self, fetcher): |
123 self._fetcher = fetcher | 123 self._fetcher = fetcher |
124 self.Reset() | 124 self.Reset() |
125 | 125 |
126 def Fetch(self, url, **kwargs): | 126 def Fetch(self, url, **kwargs): |
127 self._fetch_count += 1 | 127 self._fetch_count += 1 |
128 return self._fetcher.Fetch(url, **kwargs) | 128 return self._fetcher.Fetch(url, **kwargs) |
129 | 129 |
130 def FetchAsync(self, url, **kwargs): | 130 def FetchAsync(self, url, **kwargs): |
131 self._fetch_async_count += 1 | 131 self._fetch_async_count += 1 |
132 future = self._fetcher.FetchAsync(url, **kwargs) | 132 def next(result): |
133 def resolve(): | |
134 self._fetch_resolve_count += 1 | 133 self._fetch_resolve_count += 1 |
135 return future.Get() | 134 return result |
136 return Future(callback=resolve) | 135 return self._fetcher.FetchAsync(url, **kwargs).Then(next) |
137 | 136 |
138 def CheckAndReset(self, | 137 def CheckAndReset(self, |
139 fetch_count=0, | 138 fetch_count=0, |
140 fetch_async_count=0, | 139 fetch_async_count=0, |
141 fetch_resolve_count=0): | 140 fetch_resolve_count=0): |
142 errors = [] | 141 errors = [] |
143 for desc, expected, actual in ( | 142 for desc, expected, actual in ( |
144 ('fetch_count', fetch_count, self._fetch_count), | 143 ('fetch_count', fetch_count, self._fetch_count), |
145 ('fetch_async_count', fetch_async_count, self._fetch_async_count), | 144 ('fetch_async_count', fetch_async_count, self._fetch_async_count), |
146 ('fetch_resolve_count', fetch_resolve_count, | 145 ('fetch_resolve_count', fetch_resolve_count, |
147 self._fetch_resolve_count)): | 146 self._fetch_resolve_count)): |
148 if actual != expected: | 147 if actual != expected: |
149 errors.append('%s: expected %s got %s' % (desc, expected, actual)) | 148 errors.append('%s: expected %s got %s' % (desc, expected, actual)) |
150 try: | 149 try: |
151 return (len(errors) == 0, ', '.join(errors)) | 150 return (len(errors) == 0, ', '.join(errors)) |
152 finally: | 151 finally: |
153 self.Reset() | 152 self.Reset() |
154 | 153 |
155 def Reset(self): | 154 def Reset(self): |
156 self._fetch_count = 0 | 155 self._fetch_count = 0 |
157 self._fetch_async_count = 0 | 156 self._fetch_async_count = 0 |
158 self._fetch_resolve_count = 0 | 157 self._fetch_resolve_count = 0 |
OLD | NEW |