Index: lib/src/prism/tests/languages/bash/string_feature.test |
diff --git a/lib/src/prism/tests/languages/bash/string_feature.test b/lib/src/prism/tests/languages/bash/string_feature.test |
new file mode 100644 |
index 0000000000000000000000000000000000000000..62abaf3765953a1dca8835c013e9797ef9f1dd3f |
--- /dev/null |
+++ b/lib/src/prism/tests/languages/bash/string_feature.test |
@@ -0,0 +1,60 @@ |
+"" |
+'' |
+"foo" |
+'foo' |
+"foo |
+bar" |
+'foo |
+bar' |
+"'foo'" |
+'"bar"' |
+"$@" |
+"${foo}" |
+<< STRING_END |
+foo |
+bar |
+STRING_END |
+<< EOF |
+foo $@ |
+bar |
+EOF |
+<< 'EOF' |
+'single quoted string' |
+"double quoted string" |
+EOF |
+<< "EOF" |
+foo |
+bar |
+EOF |
+ |
+---------------------------------------------------- |
+ |
+[ |
+ ["string", ["\"\""]], |
+ ["string", ["''"]], |
+ ["string", ["\"foo\""]], |
+ ["string", ["'foo'"]], |
+ ["string", ["\"foo\r\nbar\""]], |
+ ["string", ["'foo\r\nbar'"]], |
+ ["string", ["\"'foo'\""]], |
+ ["string", ["'\"bar\"'"]], |
+ ["string", [ |
+ "\"", ["variable", "$@"], "\"" |
+ ]], |
+ ["string", [ |
+ "\"", ["variable", "${foo}"], "\"" |
+ ]], |
+ ["operator", "<<"], |
+ ["string", ["STRING_END\r\nfoo\r\nbar\r\nSTRING_END"]], |
+ ["operator", "<<"], |
+ ["string", ["EOF\r\nfoo ", ["variable", "$@"], "\r\nbar\r\nEOF"]], |
+ ["operator", "<<"], |
+ ["string", ["'EOF'\r\n'single quoted string'\r\n\"double quoted string\"\r\nEOF"]], |
+ ["operator", "<<"], |
+ ["string", ["\"EOF\"\r\nfoo\r\nbar\r\nEOF"]] |
+] |
+ |
+---------------------------------------------------- |
+ |
+Checks for single-quoted and double-quoted strings. |
+Also checks for variables in strings. |