From 62cd13a3defd7ca8319c98321d447c088407fbe5 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Mon, 18 Mar 2024 03:31:23 -0400 Subject: [PATCH] test: add regression test for node parent + string bug --- cli/src/tests/node_test.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cli/src/tests/node_test.rs b/cli/src/tests/node_test.rs index 7fdb0069..193b4562 100644 --- a/cli/src/tests/node_test.rs +++ b/cli/src/tests/node_test.rs @@ -248,6 +248,24 @@ fn test_node_parent_of_child_by_field_name() { ); } +#[test] +fn test_parent_of_zero_width_node() { + let code = "def dupa(foo):"; + + let mut parser = Parser::new(); + parser.set_language(&get_language("python")).unwrap(); + + let tree = parser.parse(code, None).unwrap(); + let root = tree.root_node(); + let function_definition = root.child(0).unwrap(); + let block = function_definition.child(4).unwrap(); + let block_parent = block.parent().unwrap(); + + assert_eq!(block.to_string(), "(block)"); + assert_eq!(block_parent.kind(), "function_definition"); + assert_eq!(block_parent.to_string(), "(function_definition name: (identifier) parameters: (parameters (identifier)) body: (block))"); +} + #[test] fn test_node_field_name_for_child() { let mut parser = Parser::new();