This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make csh_glob remove quote-escaping backslashes
[perl5.git] / ext / File-Glob / t / basic.t
index f7a2f1f..df2b958 100644 (file)
@@ -10,7 +10,7 @@ BEGIN {
     }
 }
 use strict;
-use Test::More tests => 22;
+use Test::More tests => 29;
 BEGIN {use_ok('File::Glob', ':glob')};
 use Cwd ();
 
@@ -242,6 +242,13 @@ use subs 'glob';
 BEGIN { *glob = \&File::Glob::csh_glob }
 
 is +(glob "a'b'")[0], (<a'b' c>)[0], "a'b' with and without spaces";
-is +(<a"b">)[0], (<a"b" c>)[0], 'a"b" with and without spaces';
+is <a"b">, 'ab', 'a"b" without spaces';
+is_deeply [<a"b" c>], [qw<ab c>], 'a"b" without spaces';
 is_deeply [<\\* .\\*>], [<\\*>,<.\\*>], 'backslashes with(out) spaces';
 like <\\ >, qr/^\\? \z/, 'final escaped space';
+is <a"b>, 'a"b', 'unmatched quote';
+is < a"b >, 'a"b', 'unmatched quote with surrounding spaces';
+is glob('a\"b'), 'a"b', '\ before quote *only* escapes quote';
+is glob(q"a\'b"), "a'b", '\ before single quote *only* escapes quote';
+is glob('"a\"b c\"d"'), 'a"b c"d', 'before \" within "..."';
+is glob(q"'a\'b c\'d'"), "a'b c'd", q"before \' within '...'";