Ejemplo n.º 1
0
class TestStreamInList(unittest.TestCase):
    def setUp(self):
        self.stream = ItemStream([
            'Fuzz', NameRef('var')
        ])
        self.scope = Map()
        self.scope['var'] = True
        self.l = List()
        self.c = Conditional()
        self.c.put_cond(NameRef('var'), self.stream)
        self.l.put('first')
        self.l.put(self.c)
        self.scope['list'] = self.l
    def testItems(self):
        self.assertEqual(self.l.eval(), ['first', 'Fuzz', True])
Ejemplo n.º 2
0
class TestPairStream(unittest.TestCase):
    def setUp(self):
        self.scope = Map()
        self.scope['var'] = True
        self.c = Conditional()
        self.scope.put(self.c)
    def testStream(self):
        self.c.put_cond(
            NameRef('var'),
            ItemStream([ KVPair('ag', Map()), KVPair('ug', NameRef('var')) ])
        )
        self.assertEqual(self.scope['ag'], {})
        self.assertEqual(self.scope['ug'], True)
    def testUndefinedHasNoEffect(self):
        self.scope.set_key('var', False)
        self.assertEqual(self.scope.eval(), {'var':False}) # and nothing else
Ejemplo n.º 3
0
 def setUp(self):
     self.scope = Map()
     self.scope['var'] = True
     self.m = Map()
     self.scope['bar'] = self.m
     self.c = Conditional()
     self.scope['cond'] = self.c
Ejemplo n.º 4
0
class CondBuilder(Builder):
    def __init__(self):
        self.conditional = Conditional()
        self.curr_cond = None # if not None, expecting a value
        self.expecting_else = False
    def put(self, item):
        if self.expecting_else:
            self.conditional.else_val = item
            self.expecting_else = False
        elif self.curr_cond is None:
            self.curr_cond = item
        else:
            self.conditional.put_cond(self.curr_cond, item)
            self.curr_cond = None
    def else_coming(self):
        self.expecting_else = True
    def get(self):
        return self.conditional
Ejemplo n.º 5
0
 def setUp(self):
     self.stream = ItemStream([
         'Fuzz', NameRef('var')
     ])
     self.scope = Map()
     self.scope['var'] = True
     self.l = List()
     self.c = Conditional()
     self.c.put_cond(NameRef('var'), self.stream)
     self.l.put('first')
     self.l.put(self.c)
     self.scope['list'] = self.l
Ejemplo n.º 6
0
 def __init__(self):
     self.conditional = Conditional()
     self.curr_cond = None # if not None, expecting a value
     self.expecting_else = False
Ejemplo n.º 7
0
 def setUp(self):
     self.scope = Map()
     self.scope['var'] = True
     self.c = Conditional()
     self.scope.put(self.c)
Ejemplo n.º 8
0
class TestIfItem(unittest.TestCase):
    def setUp(self):
        self.scope = Map()
        self.scope['var'] = True
        self.m = Map()
        self.scope['bar'] = self.m
        self.c = Conditional()
        self.scope['cond'] = self.c
    def testOneCond(self):
        self.c.put_cond(NameRef('var'), 'foo')
        self.assertEqual(self.c.eval(), 'foo')
        self.scope.set_key('var', False)
        self.assertEqual(self.c.eval(), Undefined)
    def testTwoConds(self):
        # one
        self.c.put_cond(NameRef('var'), 'foo')
        self.c.put_cond(NameRef('bar'), 'fuzz')
        self.assertEqual(self.c.eval(), 'foo')
        # two
        self.scope.set_key('var', False)
        self.assertEqual(self.c.eval(), Undefined)
        # three
        self.m['nothing'] = 42
        self.assertEqual(self.c.eval(), 'fuzz')
    def testElse(self):
        self.scope.set_key('var', False)
        self.c.refresh() # make sure setting else works after refresh
        self.c.else_val = 'guth'
        self.assertEqual(self.c.eval(), 'guth')