Exemplo n.º 1
0
    def test_seq_dump_padded(self):
        node = Node([
            Node(1, Location("s", 1, 1)),
            Node("a", Location("k", 2, 3)),
        ], Location("u", 5, 6))

        assert node.dump("   ") == ("list(u:5:6)[\n"
                                    "     int(s:1:1)(1),\n"
                                    "     str(k:2:3)(a)\n"
                                    "   ]")
Exemplo n.º 2
0
    def test_constructor(self):
        node = Node("value", Location("name", 1, 2))

        assert node.value == "value"
        assert node.loc.stream_name == "name"
        assert node.loc.line == 1
        assert node.loc.column == 2
Exemplo n.º 3
0
 def _pos(self, node):
     # Convert 0-based indices to 1-based (text editor) marks
     return Location(
         self._stream_name,
         node.start_mark.line + 1,
         node.start_mark.column + 1,
     )
Exemplo n.º 4
0
    def test_build_creates_new_instance(self, data):
        obj = Base.build(Node(data, Location("stream", 1, 2)))

        assert obj.data == data
        assert obj.loc.stream_name == "stream"
        assert obj.loc.line == 1
        assert obj.loc.column == 2
Exemplo n.º 5
0
 def test_str(self):
     assert str(Node(0, Location("a", 1, 2))) == "Node(a:1:2)[0]"
Exemplo n.º 6
0
 def __init__(self, value, loc=None):
     self.value = value
     self.loc = loc or Location("", 0, 0)
Exemplo n.º 7
0
 def test_str(self, data):
     assert str(data) == str(Base(data, Location("s", 4, 5)))
Exemplo n.º 8
0
 def test_bare_simple(self, data):
     assert Void(data, Location("path", 2, 3)).bare == data
Exemplo n.º 9
0
 def test_str(self):
     assert str(Location("stream", 1, 2)) == "stream:1:2"
Exemplo n.º 10
0
    def test_str_dump(self):
        node = Node("string", Location("s", 1, 1))

        assert node.dump() == "str(s:1:1)(string)"
Exemplo n.º 11
0
    def test_scalar_ignores_padding(self):
        node = Node("string", Location("s", 1, 1))

        assert node.dump("    ") == "str(s:1:1)(string)"
Exemplo n.º 12
0
    def test_sfloat_dump(self):
        node = Node(123.456, Location("s", 1, 1))

        assert node.dump() == "float(s:1:1)(123.456)"
Exemplo n.º 13
0
    def test_int_dump(self):
        node = Node(123, Location("s", 1, 1))

        assert node.dump() == "int(s:1:1)(123)"
Exemplo n.º 14
0
    def test_bool_dump(self):
        node = Node(True, Location("s", 1, 1))

        assert node.dump() == "bool(s:1:1)(True)"
Exemplo n.º 15
0
    def test_null_dump(self):
        node = Node(None, Location("s", 1, 1))

        assert node.dump() == "NoneType(s:1:1)(None)"
Exemplo n.º 16
0
 def test_str(self):
     assert str(Node(0, Location("a", 1, 2))) == "int(a:1:2)(0)"