def test_continue_simple(self): r1 = Rule('hi', continuation='cont1', value=14) i = {} r1.continue_(i, store) self.assertEqual(i['value'], r1.cont1) r2 = Rule('hi', continuation='none') self.assertRaises(KeyError, r2.continue_, i, store) self.assertRaises(TypeError, r2.continue_, i, None)
def test_continue_deferred(self): s = Selector(0, ('strip', 2)) i = {'objects': [' help']} r = Rule('hi', continuation='cont1', value=s) r.continue_(i, store) self.assertEqual(len(i), 3) self.assertEqual(i['value'], 'l') self.assertEqual(i[s], 'l') self.assertEqual(r.cont1, 'l') self.assertIs(r.value, s)