Skip to content

Commit 03ac57e

Browse files
committed
test(erb): Add tree-sitter tests for ERB
1 parent a3614b2 commit 03ac57e

6 files changed

Lines changed: 77 additions & 0 deletions

File tree

Cargo.lock

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ zed_extension_api = "0.7.0"
1818
[dev-dependencies]
1919
tree-sitter = "0.25"
2020
tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "71bd32fb7607035768799732addba884a37a6210" }
21+
tree-sitter-embedded-template = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template.git", rev = "c70c1de07dedd532089c0c90835c8ed9fa694f5c" }
2122
insta = { version = "1.46", features = ["yaml"] }
2223
streaming-iterator = "0.1"

tests/erb.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
mod support;
2+
3+
#[test]
4+
fn injections() {
5+
support::assert_query_snapshot(
6+
"injections",
7+
"tests/languages/erb/injections.erb",
8+
"languages/erb/injections.scm",
9+
);
10+
}

tests/languages/erb/injections.erb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Hello <%= user.name %>
2+
3+
<%# Embedded template comment %>
4+
5+
<% if admin? %>
6+
Welcome, <%= admin_name %>
7+
<% end %>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
source: tests/ruby.rs
3+
expression: captures
4+
---
5+
- name: content
6+
line: 1
7+
column: 1
8+
text: "Hello "
9+
- name: content
10+
line: 1
11+
column: 10
12+
text: " user.name "
13+
- name: content
14+
line: 1
15+
column: 23
16+
text: "\n\n"
17+
- name: content
18+
line: 3
19+
column: 4
20+
text: " Embedded template comment "
21+
- name: content
22+
line: 3
23+
column: 33
24+
text: "\n\n"
25+
- name: content
26+
line: 5
27+
column: 3
28+
text: " if admin? "
29+
- name: content
30+
line: 5
31+
column: 16
32+
text: "\n Welcome, "
33+
- name: content
34+
line: 6
35+
column: 15
36+
text: " admin_name "
37+
- name: content
38+
line: 6
39+
column: 29
40+
text: "\n"
41+
- name: content
42+
line: 7
43+
column: 3
44+
text: " end "
45+
- name: content
46+
line: 7
47+
column: 10
48+
text: "\n"

tests/support/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ fn normalize_line_endings(text: &str) -> String {
1919
fn language_for_id(language_id: &str) -> tree_sitter::Language {
2020
match language_id {
2121
"ruby" => tree_sitter_ruby::LANGUAGE.into(),
22+
"erb" => tree_sitter_embedded_template::LANGUAGE.into(),
2223
_ => panic!("Unsupported language id for query tests: {language_id}"),
2324
}
2425
}

0 commit comments

Comments
 (0)