Skip to content

Commit

Permalink
Reprex for ts_node_is_missing() issue
Browse files Browse the repository at this point in the history
  • Loading branch information
DavisVaughan committed May 1, 2024
1 parent 4c08325 commit 34c5ffc
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 1 deletion.
41 changes: 40 additions & 1 deletion cli/src/tests/node_test.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use tree_sitter::{Node, Parser, Point, Tree};
use tree_sitter::{Node, Parser, Point, Range, Tree};

use super::helpers::{
edits::get_random_edit,
Expand Down Expand Up @@ -341,6 +341,45 @@ fn test_node_child_by_field_name_with_extra_hidden_children() {
);
}

#[test]
fn test_node_is_missing() {
let mut parser = Parser::new();
parser.set_language(&get_language("julia")).unwrap();
let source = "x =";

let tree = parser.parse(source, None).unwrap();

let node = tree.root_node().child(0).unwrap();
assert_eq!(node.kind(), "assignment");

// The `x`
let child = node.child(0).unwrap();
assert_eq!(child.kind(), "identifier");

// The `=`
let child = node.child(1).unwrap();
assert_eq!(child.kind(), "operator");

// This is a MISSING node!
let child = node.child(2).unwrap();
assert_eq!(child.kind(), "identifier");

// See, it is 0 width and everything (this passes)
assert_eq!(
child.range(),
Range {
start_byte: 3,
end_byte: 3,
start_point: Point { row: 0, column: 3 },
end_point: Point { row: 0, column: 3 }
}
);

// But it isn't declared as missing here.
// This should pass, but does not!
assert!(child.is_missing());
}

#[test]
fn test_node_named_child() {
let tree = parse_json_example();
Expand Down
1 change: 1 addition & 0 deletions script/fetch-fixtures
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ fetch_grammar go master
fetch_grammar html master
fetch_grammar java master
fetch_grammar javascript master
fetch_grammar julia master
fetch_grammar jsdoc master
fetch_grammar json master
fetch_grammar php master
Expand Down
1 change: 1 addition & 0 deletions script/fetch-fixtures.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ call:fetch_grammar go master
call:fetch_grammar html master
call:fetch_grammar java master
call:fetch_grammar javascript master
call:fetch_grammar julia master
call:fetch_grammar jsdoc master
call:fetch_grammar json master
call:fetch_grammar php master
Expand Down

0 comments on commit 34c5ffc

Please sign in to comment.