mirror of
https://github.com/sbrow/thor.git
synced 2026-10-25 02:01:56 -04:00
fix: Empty tags now report diagnostics.
This commit is contained in:
+14
-1
@@ -130,7 +130,7 @@ input: |
|
||||
</footer>
|
||||
expected: |
|
||||
Empty tag
|
||||
--> <test>:11:28
|
||||
--> <test>:11:28
|
||||
|
|
||||
9 | href="https://edwardtufte.github.io/tufte-css/">Tufte CSS</a>
|
||||
10 | </p>
|
||||
@@ -139,6 +139,19 @@ expected: |
|
||||
12 | </footer>
|
||||
|
|
||||
---
|
||||
name: empty raw tag
|
||||
enable: true
|
||||
should: error
|
||||
input: |
|
||||
Hello, {{&}}
|
||||
expected: |
|
||||
Empty tag
|
||||
--> <test>:1:8
|
||||
|
|
||||
1 | Hello, {{&}}
|
||||
| ^^^^^ tag must contain a key
|
||||
|
|
||||
---
|
||||
name: Missing pipe arguement
|
||||
enable: true
|
||||
should: error
|
||||
|
||||
@@ -28,6 +28,11 @@ test_diag_empty_tag :: proc(t: ^testing.T) {
|
||||
run_diag_case(t, "empty tag")
|
||||
}
|
||||
|
||||
@(test)
|
||||
test_diag_empty_raw_tag :: proc(t: ^testing.T) {
|
||||
run_diag_case(t, "empty raw tag")
|
||||
}
|
||||
|
||||
@(test)
|
||||
test_diag_missing_pipe_arguement :: proc(t: ^testing.T) {
|
||||
run_diag_case(t, "Missing pipe arguement")
|
||||
|
||||
@@ -271,6 +271,14 @@ parse_section :: proc(
|
||||
pos^ += 1
|
||||
|
||||
case .Variable:
|
||||
if len(strings.trim_space(tok.value)) == 0 {
|
||||
return Error_Body {
|
||||
msg = "Empty tag",
|
||||
pos = tok.pos,
|
||||
kind = .Syntax,
|
||||
hint = "tag must contain a key",
|
||||
}
|
||||
}
|
||||
idx := len(nodes)
|
||||
append(nodes, Node{kind = .Variable})
|
||||
pipe_key, perr := parse_pipeline(
|
||||
@@ -290,6 +298,14 @@ parse_section :: proc(
|
||||
pos^ += 1
|
||||
|
||||
case .Unescaped:
|
||||
if len(strings.trim_space(tok.value)) == 0 {
|
||||
return Error_Body {
|
||||
msg = "Empty tag",
|
||||
pos = tok.pos,
|
||||
kind = .Syntax,
|
||||
hint = "tag must contain a key",
|
||||
}
|
||||
}
|
||||
idx := len(nodes)
|
||||
append(nodes, Node{kind = .Unescaped})
|
||||
pipe_key, perr := parse_pipeline(
|
||||
|
||||
Reference in New Issue
Block a user