diff --git a/tests/cases/1-parsed@multiple.snap b/tests/cases/1-parsed@multiple.snap new file mode 100644 index 0000000..665cf57 --- /dev/null +++ b/tests/cases/1-parsed@multiple.snap @@ -0,0 +1,69 @@ +--- +source: tests/file_tests.rs +expression: parsed +input_file: tests/cases/multiple.temple +--- +ParsedTemplate { + tokens: [ + TemplateToken { + kind: Content, + source: "Hi there! My name is", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: LeftDelim, + source: "{{", + }, + TemplateToken { + kind: WantsOutput, + source: "=", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: Ident, + source: "name", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: RightDelim, + source: "}}", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: LeftDelim, + source: "{{", + }, + TemplateToken { + kind: WantsOutput, + source: "=", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: Ident, + source: "lastname", + }, + TemplateToken { + kind: Whitespace, + source: " ", + }, + TemplateToken { + kind: RightDelim, + source: "}}", + }, + ], +} diff --git a/tests/cases/2-ast@multiple.snap b/tests/cases/2-ast@multiple.snap new file mode 100644 index 0000000..5627af6 --- /dev/null +++ b/tests/cases/2-ast@multiple.snap @@ -0,0 +1,57 @@ +--- +source: tests/file_tests.rs +expression: ast +input_file: tests/cases/multiple.temple +--- +TemplateAst { + root: [ + StaticContent( + TemplateToken { + kind: Content, + source: "Hi there! My name is", + }, + ), + Interpolation { + prev_whitespace: Some( + TemplateToken { + kind: Whitespace, + source: " ", + }, + ), + wants_output: Some( + TemplateToken { + kind: WantsOutput, + source: "=", + }, + ), + expression: VariableAccess( + TemplateToken { + kind: Ident, + source: "name", + }, + ), + post_whitespace: Some( + TemplateToken { + kind: Whitespace, + source: " ", + }, + ), + }, + Interpolation { + prev_whitespace: None, + wants_output: Some( + TemplateToken { + kind: WantsOutput, + source: "=", + }, + ), + expression: VariableAccess( + TemplateToken { + kind: Ident, + source: "lastname", + }, + ), + post_whitespace: None, + }, + ], +} diff --git a/tests/cases/3-instructions@multiple.snap b/tests/cases/3-instructions@multiple.snap new file mode 100644 index 0000000..3e4513a --- /dev/null +++ b/tests/cases/3-instructions@multiple.snap @@ -0,0 +1,38 @@ +--- +source: tests/file_tests.rs +expression: emit +input_file: tests/cases/multiple.temple +--- +[ + AppendContent { + content: "Hi there! My name is", + }, + AppendContent { + content: " ", + }, + LoadFromContextToSlot { + name: "name", + slot: VariableSlot { + index: 0, + }, + }, + EmitFromSlot { + slot: VariableSlot { + index: 0, + }, + }, + AppendContent { + content: " ", + }, + LoadFromContextToSlot { + name: "lastname", + slot: VariableSlot { + index: 1, + }, + }, + EmitFromSlot { + slot: VariableSlot { + index: 1, + }, + }, +] diff --git a/tests/cases/4-output@multiple.snap b/tests/cases/4-output@multiple.snap new file mode 100644 index 0000000..0808a5a --- /dev/null +++ b/tests/cases/4-output@multiple.snap @@ -0,0 +1,6 @@ +--- +source: tests/file_tests.rs +expression: output +input_file: tests/cases/multiple.temple +--- +"Hi there! My name is Hemera Green" diff --git a/tests/cases/multiple.temple b/tests/cases/multiple.temple new file mode 100644 index 0000000..6a012b5 --- /dev/null +++ b/tests/cases/multiple.temple @@ -0,0 +1,6 @@ +{ + "name": "Hemera", + "lastname": "Green" +} +--- +Hi there! My name is {{= name }} {{= lastname }} \ No newline at end of file