Esempio n. 1
0
 def test_addCallbacksOnlyCallsOne(self):
     """
     If the callback raises an exception, the errback won't be called.
     """
     sd = SynchronousDeferred("foo")
     failures = []
     sd.addCallbacks(lambda r: 1/0, failures.append)
     self.assertEquals(failures, [])
Esempio n. 2
0
 def test_addCallbacksExtraArgumentsOnCallback(self):
     """
     addCallbacks takes some extra arguments to pass to its callback.
     """
     sd = SynchronousDeferred("foo")
     l = []
     def cb(r, extra, more=None):
         l.append((r, extra, more))
     sd.addCallbacks(cb, lambda ignored: None,
                     (1,), {},
                     {"more": "heyo"}, {})
     self.assertEquals(l, [("foo", 1, "heyo")])
Esempio n. 3
0
 def test_addCallbacksCallsErrback(self):
     """
     C{addCallbacks} calls the errback passed to it, and not the callback,
     if the current result is a failure.
     """
     failure = SynchronousFailure(RuntimeError())
     sd = SynchronousDeferred(failure)
     successes = []
     failures = []
     sd.addCallbacks(successes.append, failures.append)
     self.assertEquals(successes, [])
     self.assertEquals(failures, [failure])
Esempio n. 4
0
 def test_addCallbacksExtraArgumentsOnErrback(self):
     """
     addCallbacks takes some extra arguments to pass to its errback.
     """
     failure = SynchronousFailure(RuntimeError())
     sd = SynchronousDeferred(failure)
     l = []
     def eb(r, extra, more=None):
         l.append((r, extra, more))
     sd.addCallbacks(lambda ignored: None, eb,
                     (), (1,),
                     {}, {"more": "heyo"})
     self.assertEquals(l, [(failure, 1, "heyo")])
Esempio n. 5
0
 def test_addCallbacksCallsCallback(self):
     """
     C{addCallbacks} calls the callback passed to it, and not the errback,
     if the current result is a success.
     """
     sd = SynchronousDeferred("foo")
     successes = []
     failures = []
     self.assertEquals(sd.addCallbacks(successes.append, failures.append),
                       sd)
     self.assertEquals(successes, ["foo"])
     self.assertEquals(failures, [])