Exemplo n.º 1
0
class String(str):
    def __init__(self, string):
        self.exprs = None

    def parse(self, flags):
        if self.exprs is None:
            self.exprs = Exprs(str(self))
        return self.exprs.expand(flags)
Exemplo n.º 2
0
class StringWithUseFlags(str):
    """ A parsed string with support for use flags. """
    def __init__(self, string):
        self.exprs = None

    def parse(self, flags):
        if self.exprs is None:
            self.exprs = Exprs(str(self))
        return self.exprs.expand(flags)
Exemplo n.º 3
0
def check_parses_to(string, ast):
    assert Exprs(string).ast == ast
Exemplo n.º 4
0
def check_expand(string, flags, expansion):
    assert Exprs(string).expand(flags) == expansion
Exemplo n.º 5
0
def check_parse_error(string):
    with pytest.raises(ValueError) as err:
        Exprs(string)
    assert "Invalid syntax for string:" in str(err.value)
Exemplo n.º 6
0
 def parse(self, flags):
     if self.exprs is None:
         self.exprs = Exprs(str(self))
     return self.exprs.expand(flags)