]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: paste -d: test supported escape sequences
authorPádraig Brady <P@draigBrady.com>
Mon, 12 Jan 2026 00:43:35 +0000 (00:43 +0000)
committerPádraig Brady <P@draigBrady.com>
Mon, 12 Jan 2026 14:13:26 +0000 (14:13 +0000)
* tests/misc/paste.pl: Test all supported POSIX and GNU
backslash escape sequences.

tests/misc/paste.pl

index e02ed5ddf2e8bc408ec9a54f56fc01ffa0cad6a3..7ed710c545093bc818a57d430fe127b47cca68ae 100755 (executable)
@@ -65,6 +65,21 @@ my @Tests =
    # paste: 23^H^H^H.....@...@: No such file or directory$
    ['delim-bs2', q!-d'\'!, {IN=>{'123\b\b\b.....@'=>''}}, {EXIT => 1},
     {ERR => $msg . q!\\! . "\n"} ],
+
+   # \0 allows cycling thtough an empty delimiter (while "-d ''" does not)
+   ['delim-empty-1', q{-s -d '\0,'}, {IN=>"1\n2\n3\n"}, {OUT=>"12,3\n"}],
+
+   # POSIX escapes
+   ['delim-esc-0', q{-s -d '\0'},   {IN=>"1\n2\n"}, {OUT=>"12\n"}],
+   ['delim-esc-n', q{-s -d '\n'},   {IN=>"1\n2\n"}, {OUT=>"1\n2\n"}],
+   ['delim-esc-t', q{-s -d '\t'},   {IN=>"1\n2\n"}, {OUT=>"1\t2\n"}],
+   ['delim-esc-s', q{-s -d '\\\\'}, {IN=>"1\n2\n"}, {OUT=>"1\\2\n"}],
+   # GNU escapes
+   ['delim-esc-b', q{-s -d '\b'},   {IN=>"1\n2\n"}, {OUT=>"1\b2\n"}],
+   ['delim-esc-f', q{-s -d '\f'},   {IN=>"1\n2\n"}, {OUT=>"1\f2\n"}],
+   ['delim-esc-r', q{-s -d '\r'},   {IN=>"1\n2\n"}, {OUT=>"1\r2\n"}],
+   ['delim-esc-v', q{-s -d '\v'},   {IN=>"1\n2\n"}, {OUT=>"1\0132\n"}],
+   ['delim-esc-foo', q{-s -d '\q'}, {IN=>"1\n2\n"}, {OUT=>"1q2\n"}],
   );
 
 my $save_temps = $ENV{DEBUG};