refactor(tests): migrate remaining grammar.json tests to grammar.js
This commit is contained in:
parent
26fa3a76a5
commit
627617edb4
36 changed files with 560 additions and 1212 deletions
|
|
@ -418,7 +418,20 @@ function grammar(baseGrammar, options) {
|
|||
throw new Error("Grammar must have at least one rule.");
|
||||
}
|
||||
|
||||
return { grammar: { name, inherits, word, rules, extras, conflicts, precedences, externals, inline, supertypes } };
|
||||
return {
|
||||
grammar: {
|
||||
name,
|
||||
...(inherits ? ( inherits ) : {}),
|
||||
word,
|
||||
rules,
|
||||
extras,
|
||||
conflicts,
|
||||
precedences,
|
||||
externals,
|
||||
inline,
|
||||
supertypes,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function checkArguments(args, ruleCount, caller, callerName, suffix = '', argType = 'rule') {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
use std::fs;
|
||||
|
||||
use tree_sitter::{Node, Parser, Point, Tree};
|
||||
|
||||
use super::helpers::{
|
||||
|
|
@ -7,7 +5,10 @@ use super::helpers::{
|
|||
fixtures::{fixtures_dir, get_language, get_test_language},
|
||||
random::Rand,
|
||||
};
|
||||
use crate::{generate::generate_parser_for_grammar, parse::perform_edit};
|
||||
use crate::{
|
||||
generate::{generate_parser_for_grammar, load_grammar_file},
|
||||
parse::perform_edit,
|
||||
};
|
||||
|
||||
const JSON_EXAMPLE: &str = r#"
|
||||
|
||||
|
|
@ -853,17 +854,17 @@ fn test_node_field_calls_in_language_without_fields() {
|
|||
|
||||
#[test]
|
||||
fn test_node_is_named_but_aliased_as_anonymous() {
|
||||
let (parser_name, parser_code) = generate_parser_for_grammar(
|
||||
&fs::read_to_string(
|
||||
fixtures_dir()
|
||||
.join("test_grammars")
|
||||
.join("named_rule_aliased_as_anonymous")
|
||||
.join("grammar.json"),
|
||||
)
|
||||
.unwrap(),
|
||||
let grammar_json = load_grammar_file(
|
||||
&fixtures_dir()
|
||||
.join("test_grammars")
|
||||
.join("named_rule_aliased_as_anonymous")
|
||||
.join("grammar.js"),
|
||||
None,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let (parser_name, parser_code) = generate_parser_for_grammar(&grammar_json).unwrap();
|
||||
|
||||
let mut parser = Parser::new();
|
||||
let language = get_test_language(&parser_name, &parser_code, None);
|
||||
parser.set_language(&language).unwrap();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
use std::{
|
||||
fs,
|
||||
sync::atomic::{AtomicUsize, Ordering},
|
||||
thread, time,
|
||||
};
|
||||
|
|
@ -13,7 +12,7 @@ use super::helpers::{
|
|||
fixtures::{get_language, get_test_language},
|
||||
};
|
||||
use crate::{
|
||||
generate::generate_parser_for_grammar,
|
||||
generate::{generate_parser_for_grammar, load_grammar_file},
|
||||
parse::{perform_edit, Edit},
|
||||
tests::helpers::fixtures::fixtures_dir,
|
||||
};
|
||||
|
|
@ -432,8 +431,8 @@ fn test_parsing_after_editing_tree_that_depends_on_column_values() {
|
|||
let dir = fixtures_dir()
|
||||
.join("test_grammars")
|
||||
.join("uses_current_column");
|
||||
let grammar = fs::read_to_string(dir.join("grammar.json")).unwrap();
|
||||
let (grammar_name, parser_code) = generate_parser_for_grammar(&grammar).unwrap();
|
||||
let grammar_json = load_grammar_file(&dir.join("grammar.js"), None).unwrap();
|
||||
let (grammar_name, parser_code) = generate_parser_for_grammar(&grammar_json).unwrap();
|
||||
|
||||
let mut parser = Parser::new();
|
||||
parser
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue