diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-01 10:28:23 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:37 +0200 |
commit | 7f6808984dfb37848edf149c34242f7163eb1a17 (patch) | |
tree | d74ae705c9cf1e48aa2430fbd2299d7bb2f5724c /unit-tests/test/script/parser | |
parent | 35c9e7698e768883065d944b2c43e5af9cb37ee4 (diff) |
Implement support for here-document indentation
Diffstat (limited to 'unit-tests/test/script/parser')
-rw-r--r-- | unit-tests/test/script/parser/here-document.test | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/unit-tests/test/script/parser/here-document.test b/unit-tests/test/script/parser/here-document.test index d6b21fd..4fa62d2 100644 --- a/unit-tests/test/script/parser/here-document.test +++ b/unit-tests/test/script/parser/here-document.test @@ -1,4 +1,92 @@ +: indent +: +{ + : basic + : + $* <<EOI >>EOO + cmd <<EOF + foo + bar + baz + EOF + EOI + cmd <<EOF + foo + bar + baz + EOF + EOO + + : blank + : + $* <<EOI >>EOO + cmd <<EOF + foo + + + bar + EOF + EOI + cmd <<EOF + foo + + + bar + EOF + EOO + + : non-ws-prefix + : + $* <<EOI >>EOO + cmd <<EOF + x EOF + EOF + EOI + cmd <<EOF + x EOF + EOF + EOO + + : whole-token + : Test the case where the indentation is a whole token + : + $* <<EOI >>EOO + x = foo bar + cmd <<EOF + \$x + EOF + EOI + cmd <<EOF + foo bar + EOF + EOO + + : long-line + : Test the case where the line contains multiple tokens + : + $* <<EOI >>EOO + x = foo + cmd <<EOF + \$x bar \$x + EOF + EOI + cmd <<EOF + foo bar foo + EOF + EOO + + : unindented + : + $* <<EOI 2>>EOE != 0 + cmd <<EOF + bar + EOF + EOI + testscript:2:1: error: unindented here-document line + EOE +} + $* <<EOI >>EOO # blank-lines cmd <<EOF foo |