コード例 #1
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_single_unnamed_argument():
    lex = ArgumentsLexer()

    lex.process("value1")

    assert lex.tokens == [
        Text("value1"),
    ]
コード例 #2
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_single_named_argument():
    lex = ArgumentsLexer()

    lex.process("argument1=value1")

    assert lex.tokens == [
        Text("argument1"),
        Literal("="),
        Text("value1"),
    ]
コード例 #3
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_multiple_unnamed_arguments():
    lex = ArgumentsLexer()

    lex.process("value1, value2")

    assert lex.tokens == [
        Text("value1"),
        Literal(","),
        WS(" "),
        Text("value2"),
    ]
コード例 #4
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_spaces():
    lex = ArgumentsLexer()

    lex.process("argument1=value1 value2")

    assert lex.tokens == [
        Text("argument1"),
        Literal("="),
        Text("value1"),
        WS(" "),
        Text("value2"),
    ]
コード例 #5
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_escaped_quotes():
    lex = ArgumentsLexer()

    lex.process(r"Argument \"with\" quotes")

    assert lex.tokens == [
        Text("Argument"),
        WS(" "),
        Literal("\\"),
        Literal('"'),
        Text("with"),
        Literal("\\"),
        Literal('"'),
        WS(" "),
        Text("quotes"),
    ]
コード例 #6
0
 def __init__(self, raw=False):
     super().__init__()
     self.lexer = ArgumentsLexer()
     self.raw = raw
     self._named_arguments = False
     self.kwargs = {}
     self.args = []
コード例 #7
0
    def __init__(self):
        super().__init__()
        self.lexer = ArgumentsLexer()

        # This flag is turned on as soon as
        # a named argument is parsed
        self._named_arguments = False

        self.kwargs = {}
        self.args = []
コード例 #8
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_mixed_arguments():
    lex = ArgumentsLexer()

    lex.process("value1, value2,argument1=value1, argument2=value2")

    assert lex.tokens == [
        Text("value1"),
        Literal(","),
        WS(" "),
        Text("value2"),
        Literal(","),
        Text("argument1"),
        Literal("="),
        Text("value1"),
        Literal(","),
        WS(" "),
        Text("argument2"),
        Literal("="),
        Text("value2"),
    ]
コード例 #9
0
ファイル: test_arguments_lexer.py プロジェクト: xrmx/mau
def test_quotes():
    lex = ArgumentsLexer()

    lex.process('argument1="value1,value2"')

    assert lex.tokens == [
        Text("argument1"),
        Literal("="),
        Literal('"'),
        Text("value1"),
        Literal(","),
        Text("value2"),
        Literal('"'),
    ]

    assert [t.position for t in lex.tokens] == [
        (0, 0),
        (0, 9),
        (0, 10),
        (0, 11),
        (0, 17),
        (0, 18),
        (0, 24),
    ]