def test_get_element_content_range_of_element_returns_expected(self, source: str, element: str, expected: Range) -> None: document = TestUtils.to_document(source) tool = GalaxyToolXmlDocument(document) node = tool.find_element(element) actual = tool.get_content_range(node) assert actual == expected
def test_get_element_content_range_of_unknown_element_returns_none(self) -> None: document = TestUtils.to_document("<tool><tests></tests></tool>") tool = GalaxyToolXmlDocument(document) node = tool.find_element("unknown") actual = tool.get_content_range(node) assert actual is None
def _find_macros_insert_position(self, tool: GalaxyToolXmlDocument) -> Position: """Returns the position inside the document where the macros section can be inserted. Returns: Range: The position where the macros section can be inserted in the document. """ section = tool.find_element(XREF) if section: return tool.get_position_after(section) section = tool.find_element(DESCRIPTION) if section: return tool.get_position_after(section) root = tool.find_element(TOOL) content_range = tool.get_content_range(root) if content_range: return content_range.start return Position(line=0, character=0)