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

Side by Side Diff: chrome/common/extensions/docs/server2/future_test.py

Issue 462103003: Docserver: Implement ContentProvider.GetVersion. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: futurize Created 6 years, 4 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import traceback 6 import traceback
7 import unittest 7 import unittest
8 8
9 9
10 from future import All, Future, Race 10 from future import All, Future, Race
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 self.assertEqual([1, 2, 3], future.Get()) 87 self.assertEqual([1, 2, 3], future.Get())
88 for callback in callbacks: 88 for callback in callbacks:
89 self.assertTrue(*callback.CheckAndReset(1)) 89 self.assertTrue(*callback.CheckAndReset(1))
90 90
91 # Test throwing an error. 91 # Test throwing an error.
92 def throws_error(): 92 def throws_error():
93 raise ValueError() 93 raise ValueError()
94 callbacks = (callback_with_value(1), 94 callbacks = (callback_with_value(1),
95 callback_with_value(2), 95 callback_with_value(2),
96 MockFunction(throws_error)) 96 MockFunction(throws_error))
97
97 future = All(Future(callback=callback) for callback in callbacks) 98 future = All(Future(callback=callback) for callback in callbacks)
98 for callback in callbacks: 99 for callback in callbacks:
99 self.assertTrue(*callback.CheckAndReset(0)) 100 self.assertTrue(*callback.CheckAndReset(0))
100 # Can't check that the callbacks were actually run because in theory the
101 # Futures can be resolved in any order.
102 self.assertRaises(ValueError, future.Get) 101 self.assertRaises(ValueError, future.Get)
102 for callback in callbacks:
103 # Can't check that the callbacks were actually run because in theory the
104 # Futures can be resolved in any order.
105 callback.CheckAndReset(0)
106
107 # Test throwing an error with except_pass.
108 future = All((Future(callback=callback) for callback in callbacks),
109 except_pass=ValueError)
110 for callback in callbacks:
111 self.assertTrue(*callback.CheckAndReset(0))
112 self.assertEqual([1, 2, None], future.Get())
103 113
104 def testRaceSuccess(self): 114 def testRaceSuccess(self):
105 callback = MockFunction(lambda: 42) 115 callback = MockFunction(lambda: 42)
106 116
107 # Test a single value. 117 # Test a single value.
108 race = Race((Future(callback=callback),)) 118 race = Race((Future(callback=callback),))
109 self.assertTrue(*callback.CheckAndReset(0)) 119 self.assertTrue(*callback.CheckAndReset(0))
110 self.assertEqual(42, race.Get()) 120 self.assertEqual(42, race.Get())
111 self.assertTrue(*callback.CheckAndReset(1)) 121 self.assertTrue(*callback.CheckAndReset(1))
112 122
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 race = Race((Future(callback=throws_error), 162 race = Race((Future(callback=throws_error),
153 Future(callback=throws_except_error)), 163 Future(callback=throws_except_error)),
154 except_pass=(NotImplementedError,)) 164 except_pass=(NotImplementedError,))
155 self.assertRaises(ValueError, race.Get) 165 self.assertRaises(ValueError, race.Get)
156 166
157 race = Race((Future(callback=throws_error), 167 race = Race((Future(callback=throws_error),
158 Future(callback=throws_error)), 168 Future(callback=throws_error)),
159 except_pass=(ValueError,)) 169 except_pass=(ValueError,))
160 self.assertRaises(ValueError, race.Get) 170 self.assertRaises(ValueError, race.Get)
161 171
172 # Test except_pass with default values.
173 race = Race((Future(callback=throws_error),
174 Future(callback=throws_except_error)),
175 except_pass=(NotImplementedError,),
176 default=42)
177 self.assertRaises(ValueError, race.Get)
178
179 race = Race((Future(callback=throws_error),
180 Future(callback=throws_error)),
181 except_pass=(ValueError,),
182 default=42)
183 self.assertEqual(42, race.Get())
184
162 def testThen(self): 185 def testThen(self):
163 def assertIs42(val): 186 def assertIs42(val):
164 self.assertEqual(val, 42) 187 self.assertEqual(val, 42)
165 return val 188 return val
166 189
167 then = Future(value=42).Then(assertIs42) 190 then = Future(value=42).Then(assertIs42)
168 # Shouldn't raise an error. 191 # Shouldn't raise an error.
169 self.assertEqual(42, then.Get()) 192 self.assertEqual(42, then.Get())
170 193
171 # Test raising an error. 194 # Test raising an error.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 raisesSomething().Then(shouldNotHappen, raisesSomething) 276 raisesSomething().Then(shouldNotHappen, raisesSomething)
254 .Then(shouldNotHappen, oops).Get()) 277 .Then(shouldNotHappen, oops).Get())
255 self.assertEqual( 278 self.assertEqual(
256 'oops', 279 'oops',
257 raisesSomething().Then(shouldNotHappen, raisesSomething) 280 raisesSomething().Then(shouldNotHappen, raisesSomething)
258 .Then(shouldNotHappen, oopsFuture).Get()) 281 .Then(shouldNotHappen, oopsFuture).Get())
259 282
260 283
261 if __name__ == '__main__': 284 if __name__ == '__main__':
262 unittest.main() 285 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698