コード例 #1
0
ファイル: async_test.py プロジェクト: deepak1556/anvil-build
  def testMultiCallbacks(self):
    cbs = []
    def cb_multi_thunk(*args, **kwargs):
      cbs.append({
          'done': True,
          'args': args,
          'kwargs': kwargs
          })

    d = Deferred()
    d.add_callback_fn(cb_multi_thunk)
    d.callback('a')
    self.assertEqual(len(cbs), 1)
    self.assertNotEqual(len(cbs[0]), 0)
    self.assertEqual(cbs[0]['args'][0], 'a')
    cbs[:] = []

    d = Deferred()
    d.add_callback_fn(cb_multi_thunk)
    d.add_callback_fn(cb_multi_thunk)
    d.callback('a')
    self.assertEqual(len(cbs), 2)
    self.assertNotEqual(len(cbs[0]), 0)
    self.assertNotEqual(len(cbs[1]), 0)
    self.assertEqual(cbs[0]['args'][0], 'a')
    self.assertEqual(cbs[1]['args'][0], 'a')
    cbs[:] = []

    d = Deferred()
    d.add_callback_fn(cb_multi_thunk)
    d.callback('a')
    d.add_callback_fn(cb_multi_thunk)
    self.assertEqual(len(cbs), 2)
    self.assertNotEqual(len(cbs[0]), 0)
    self.assertNotEqual(len(cbs[1]), 0)
    self.assertEqual(cbs[0]['args'][0], 'a')
    self.assertEqual(cbs[1]['args'][0], 'a')
    cbs[:] = []

    d = Deferred()
    d.callback('a')
    d.add_callback_fn(cb_multi_thunk)
    d.add_callback_fn(cb_multi_thunk)
    self.assertEqual(len(cbs), 2)
    self.assertNotEqual(len(cbs[0]), 0)
    self.assertNotEqual(len(cbs[1]), 0)
    self.assertEqual(cbs[0]['args'][0], 'a')
    self.assertEqual(cbs[1]['args'][0], 'a')
    cbs[:] = []
コード例 #2
0
    def testMultiCallbacks(self):
        cbs = []

        def cb_multi_thunk(*args, **kwargs):
            cbs.append({'done': True, 'args': args, 'kwargs': kwargs})

        d = Deferred()
        d.add_callback_fn(cb_multi_thunk)
        d.callback('a')
        self.assertEqual(len(cbs), 1)
        self.assertNotEqual(len(cbs[0]), 0)
        self.assertEqual(cbs[0]['args'][0], 'a')
        cbs[:] = []

        d = Deferred()
        d.add_callback_fn(cb_multi_thunk)
        d.add_callback_fn(cb_multi_thunk)
        d.callback('a')
        self.assertEqual(len(cbs), 2)
        self.assertNotEqual(len(cbs[0]), 0)
        self.assertNotEqual(len(cbs[1]), 0)
        self.assertEqual(cbs[0]['args'][0], 'a')
        self.assertEqual(cbs[1]['args'][0], 'a')
        cbs[:] = []

        d = Deferred()
        d.add_callback_fn(cb_multi_thunk)
        d.callback('a')
        d.add_callback_fn(cb_multi_thunk)
        self.assertEqual(len(cbs), 2)
        self.assertNotEqual(len(cbs[0]), 0)
        self.assertNotEqual(len(cbs[1]), 0)
        self.assertEqual(cbs[0]['args'][0], 'a')
        self.assertEqual(cbs[1]['args'][0], 'a')
        cbs[:] = []

        d = Deferred()
        d.callback('a')
        d.add_callback_fn(cb_multi_thunk)
        d.add_callback_fn(cb_multi_thunk)
        self.assertEqual(len(cbs), 2)
        self.assertNotEqual(len(cbs[0]), 0)
        self.assertNotEqual(len(cbs[1]), 0)
        self.assertEqual(cbs[0]['args'][0], 'a')
        self.assertEqual(cbs[1]['args'][0], 'a')
        cbs[:] = []
コード例 #3
0
    def testCallbackArgs(self):
        cb = {}

        def cb_thunk(*args, **kwargs):
            cb['done'] = True
            cb['args'] = args
            cb['kwargs'] = kwargs

        d = Deferred()
        self.assertFalse(d.is_done())
        d.callback()
        self.assertTrue(d.is_done())

        d = Deferred()
        self.assertFalse(d.is_done())
        d.errback()
        self.assertTrue(d.is_done())

        d = Deferred()
        d.add_callback_fn(cb_thunk)
        d.callback()
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 0)
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.add_callback_fn(cb_thunk)
        d.callback('a', 'b')
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 2)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(cb['args'][1], 'b')
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.add_callback_fn(cb_thunk)
        d.callback('a', b='b')
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 1)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(len(cb['kwargs']), 1)
        self.assertEqual(cb['kwargs']['b'], 'b')
        cb.clear()
コード例 #4
0
ファイル: async_test.py プロジェクト: deepak1556/anvil-build
  def testCallbackArgs(self):
    cb = {}
    def cb_thunk(*args, **kwargs):
      cb['done'] = True
      cb['args'] = args
      cb['kwargs'] = kwargs

    d = Deferred()
    self.assertFalse(d.is_done())
    d.callback()
    self.assertTrue(d.is_done())

    d = Deferred()
    self.assertFalse(d.is_done())
    d.errback()
    self.assertTrue(d.is_done())

    d = Deferred()
    d.add_callback_fn(cb_thunk)
    d.callback()
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 0)
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.add_callback_fn(cb_thunk)
    d.callback('a', 'b')
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 2)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(cb['args'][1], 'b')
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.add_callback_fn(cb_thunk)
    d.callback('a', b='b')
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 1)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(len(cb['kwargs']), 1)
    self.assertEqual(cb['kwargs']['b'], 'b')
    cb.clear()
コード例 #5
0
ファイル: async_test.py プロジェクト: deepak1556/anvil-build
  def testCallbackOrder(self):
    cb = {}
    def cb_thunk(*args, **kwargs):
      cb['done'] = True
      cb['args'] = args
      cb['kwargs'] = kwargs

    d = Deferred()
    d.add_callback_fn(cb_thunk)
    d.callback('a')
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 1)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.callback('a')
    d.add_callback_fn(cb_thunk)
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 1)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.add_errback_fn(cb_thunk)
    d.errback('a')
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 1)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.errback('a')
    d.add_errback_fn(cb_thunk)
    self.assertNotEqual(len(cb), 0)
    self.assertTrue(cb['done'])
    self.assertEqual(len(cb['args']), 1)
    self.assertEqual(cb['args'][0], 'a')
    self.assertEqual(len(cb['kwargs']), 0)
    cb.clear()

    d = Deferred()
    d.add_callback_fn(cb_thunk)
    d.errback('a')
    self.assertEqual(len(cb), 0)
    cb.clear()

    d = Deferred()
    d.errback('a')
    d.add_callback_fn(cb_thunk)
    self.assertEqual(len(cb), 0)
    cb.clear()

    d = Deferred()
    d.add_errback_fn(cb_thunk)
    d.callback('a')
    self.assertEqual(len(cb), 0)
    cb.clear()

    d = Deferred()
    d.callback('a')
    d.add_errback_fn(cb_thunk)
    self.assertEqual(len(cb), 0)
    cb.clear()
コード例 #6
0
    def testCallbackOrder(self):
        cb = {}

        def cb_thunk(*args, **kwargs):
            cb['done'] = True
            cb['args'] = args
            cb['kwargs'] = kwargs

        d = Deferred()
        d.add_callback_fn(cb_thunk)
        d.callback('a')
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 1)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.callback('a')
        d.add_callback_fn(cb_thunk)
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 1)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.add_errback_fn(cb_thunk)
        d.errback('a')
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 1)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.errback('a')
        d.add_errback_fn(cb_thunk)
        self.assertNotEqual(len(cb), 0)
        self.assertTrue(cb['done'])
        self.assertEqual(len(cb['args']), 1)
        self.assertEqual(cb['args'][0], 'a')
        self.assertEqual(len(cb['kwargs']), 0)
        cb.clear()

        d = Deferred()
        d.add_callback_fn(cb_thunk)
        d.errback('a')
        self.assertEqual(len(cb), 0)
        cb.clear()

        d = Deferred()
        d.errback('a')
        d.add_callback_fn(cb_thunk)
        self.assertEqual(len(cb), 0)
        cb.clear()

        d = Deferred()
        d.add_errback_fn(cb_thunk)
        d.callback('a')
        self.assertEqual(len(cb), 0)
        cb.clear()

        d = Deferred()
        d.callback('a')
        d.add_errback_fn(cb_thunk)
        self.assertEqual(len(cb), 0)
        cb.clear()