Ejemplo n.º 1
0
def can_infer_type_of_slice():
    node = nodes.slice(nodes.str_literal(""), nodes.int_literal(4), nodes.none())
    assert_equal(
        types.slice_type(types.str_type, types.int_type, types.none_type),
        infer(node)
    )
Ejemplo n.º 2
0
def test_parse_subscript_with_slice():
    expected = nodes.subscript(
        nodes.ref("x"),
        nodes.slice(nodes.ref("a"), nodes.ref("b"), nodes.ref("c")),
    )
    _assert_expression_parse(expected, "x[a:b:c]")
Ejemplo n.º 3
0
def test_missing_subscript_slice_values_are_treated_as_none():
    expected = nodes.subscript(nodes.ref("x"), nodes.slice(nodes.none(), nodes.none(), nodes.none()))
    _assert_expression_parse(expected, "x[:]")
Ejemplo n.º 4
0
 def test_transform(self):
     _assert_transform(
         nodes.slice(nodes.ref("x"), nodes.ref("y"), nodes.none()),
         cc.call(cc.builtin("slice"), [cc.ref("x"), cc.ref("y"), cc.none]),
     )