This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
various -V: searches [PATCH]
[perl5.git] / lib / Config.t
index 6e4b47c..c32571c 100644 (file)
@@ -6,7 +6,7 @@ BEGIN {
     require "./test.pl";
 }
 
-plan tests => 36;
+plan tests => 46;
 
 use_ok('Config');
 
@@ -77,11 +77,35 @@ Config::config_vars('d_bork');
 my $out2 = $$out;
 $out->clear;
 
-untie *STDOUT;
+Config::config_vars('PERL_API_.*');
+my $out3 = $$out;
+$out->clear;
+
+Config::config_vars(':PERL_API_.*:');
+my $out4 = $$out;
+$out->clear;
 
+Config::config_vars(':PERL_API_REVISION:');
+my $out5 = $$out;
+$out->clear;
+
+untie *STDOUT;
 like($out1, qr/^cc='\Q$Config{cc}\E';/, "config_vars cc");
 like($out2, qr/^d_bork='UNKNOWN';/, "config_vars d_bork is UNKNOWN");
 
+is(3, scalar split(/\n/, $out3), "3 PERL_API vars found");
+my @api = $out3 =~ /^PERL_API_(\w+)=(.*);/mg;
+is("'5'", $api[1], "1st is 5");
+is("'9'", $api[5], "2nd is 9");
+is("'1'", $api[3], "3rd is 1");
+@api = split(/ /, $out4);
+is(3, @api, "trailing colon puts 3 terms on same line");
+unlike($out4, qr/=/, "leading colon suppresses param names");
+is("'5'", $api[0], "revision is 5");
+is("'9'", $api[2], "version is 9");
+is("'1'", $api[1], "subversion is 1");
+
+is("'5' ", $out5, "leading and trailing colons return just the value");
 # Read-only.
 
 undef $@;