'If a first L{Deferred} with a result is returned from a callback on a
second L{Deferred}, the result of the second L{Deferred} becomes the
result of the first L{Deferred} and the result of the first L{Deferred}
becomes L{None}.'

def test_synchronousImplicitChain(self):

    result = object()
    first = defer.succeed(result)
    second = defer.Deferred()
    second.addCallback((lambda ign: first))
    second.callback(None)
    results = []
    first.addCallback(results.append)
    self.assertIsNone(results[0])
    second.addCallback(results.append)
    self.assertIs(results[1], result)
