diff options
| author | Jonas Maier <jonas@x77.dev> | 2026-03-18 11:48:17 +0100 |
|---|---|---|
| committer | Jonas Maier <jonas@x77.dev> | 2026-03-18 11:48:17 +0100 |
| commit | 7b84b6e05551239d93661bdeb811e72d16675364 (patch) | |
| tree | 4f516f56d1cec5bc00d18832f077e096b310684d /src/parse | |
| parent | fb3165b5793641f2c56362877572b329f4af50c8 (diff) | |
| download | pish-7b84b6e05551239d93661bdeb811e72d16675364.tar.gz | |
test for multiline strings + custom multiline string delimiters
Diffstat (limited to 'src/parse')
| -rw-r--r-- | src/parse/test.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/parse/test.rs b/src/parse/test.rs index b3d9440..d221341 100644 --- a/src/parse/test.rs +++ b/src/parse/test.rs @@ -245,3 +245,58 @@ fn if_else() { fn simple_while() { parse_test!(parse(b"while cond { x }"), todo!()); } + +#[test] +fn multiline_string_1() { + parse_test!( + parse( + br#"echo """ +hello +world""""# + ), + pipes([cmd([estr(b"echo"), estr(b"hello\nworld")]),]) + ); +} + +#[test] +fn multiline_string_2() { + parse_test!( + parse( + br#"echo """ +line 1 +$var +line 3 +""""# + ), + pipes([cmd([estr(b"echo"), str([plain(b"line 1\n"),var(b"var"),plain(b"\nline 3\n")])]),]) + ); +} + +#[test] +fn multiline_string_3() { + parse_test!( + parse( + br#"echo ''' +line 1 +$var +line 3 +'''"# + ), + pipes([cmd([estr(b"echo"), estr(b"line 1\n$var\nline 3\n")]),]) + ); +} + +#[test] +fn multiline_string_4() { + parse_test!( + parse( + br#"echo foo""" +text +""" +more text +"""foo +"# + ), + pipes([cmd([estr(b"echo"), estr(b"text\n\"\"\"\nmore text\n")]),]) + ); +} |
