| 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 |