[[framework]]
name = "minitest"
language = "ruby"
tree_sitter_crate = "tree-sitter-ruby"
description = "Minitest — Ruby's built-in test framework"
[framework.files]
extensions = [".rb"]
include_globs = [
"test/**/*_test.rb",
"test/**/test_*.rb",
]
exclude_globs = ["test/test_helper.rb"]
require_ast_confirmation = false
[framework.ast_kinds]
function = "method"
method = "method"
class = "class"
module = "module"
body_child = "body_statement"
name_child = "constant"
name_child_alt = "scope_resolution"
[[framework.marker]]
marker_type = "name_pattern"
pattern = "^Test"
applies_to = "class"
creates = "group"
[[framework.marker]]
marker_type = "name_pattern"
pattern = "^test_"
applies_to = "method"
creates = "spec"
[[framework.group]]
ast_type = "call"
method_names = ["describe"]
name_source = "first_argument"
name_source_type = "string_literal"
[[framework.spec]]
ast_type = "call"
method_names = ["it"]
name_source = "first_argument"
name_source_type = "string_literal"
[framework.loop_expansion]
enabled = true
each_method = "each"
literal_receiver_kinds = ["symbol_array", "string_array", "array", "hash"]
[framework.normalization]
strip_prefixes = ["test_"]
underscore_to_space = true
strip_camel_test_prefix = true
[framework.path_grouping]
strip_prefixes = ["test/"]
strip_suffixes = ["_test"]
separator = "::"
strip_extension = true
[framework.inheritance]
enabled = true
type_node_kinds = ["class", "module"]
inert_containers = ["module"]
scan_globs = ["test/**/*.rb", "spec/**/*.rb", "lib/**/*.rb"]
[[framework.inheritance.ref_detection]]
strategy = "method_call"
method_names = ["include", "extend"]
arg_kinds = ["constant", "scope_resolution"]