LibCST/libcst/_nodes/tests/test_else.py
Ray Zeng a41ab9af91 Calculate syntactic position for statement nodes (5)
Calculate positions for raise, assert, global and nonlocal statements
(and also for op nodes).
2019-07-26 12:48:22 -07:00

34 lines
1 KiB
Python

# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
# pyre-strict
from typing import Any
import libcst as cst
from libcst import CodeRange
from libcst._nodes.tests.base import CSTNodeTest
from libcst.testing.utils import data_provider
class ElseTest(CSTNodeTest):
@data_provider(
(
{
"node": cst.Else(cst.SimpleStatementSuite((cst.Pass(),))),
"code": "else: pass\n",
"expected_position": CodeRange.create((1, 0), (1, 10)),
},
{
"node": cst.Else(
cst.SimpleStatementSuite((cst.Pass(),)),
whitespace_before_colon=cst.SimpleWhitespace(" "),
),
"code": "else : pass\n",
"expected_position": CodeRange.create((1, 0), (1, 12)),
},
)
)
def test_valid(self, **kwargs: Any) -> None:
self.validate_node(**kwargs)