1#! /usr/local/perl -w 2# Before `make install' is performed this script should be runnable with 3# `make test'. After `make install' it should work as `perl test.pl' 4 5######################### 6 7use Test::More qw/no_plan/; 8 9# do strict lax tests in a sub to isolate a package to test importing 10SKIP: { 11 skip 'No extended regexes Perl < 5.006', 174 12 if $] < 5.006_000; 13 strict_lax_tests(); 14 is ref($version::LAX), 'Regexp', 'Can see $version::LAX '.$version::LAX ; 15 is ref($version::STRICT), 'Regexp', 'Can see $version::STRICT '.$version::STRICT; 16} 17 18 19sub strict_lax_tests { 20 package temp12345; 21 # copied from perl core test t/op/packagev.t 22 # format: STRING STRICT_OK LAX_OK 23 my $strict_lax_data = << 'CASE_DATA'; 241.00 pass pass 251.00001 pass pass 260.123 pass pass 2712.345 pass pass 2842 pass pass 290 pass pass 300.0 pass pass 31v1.2.3 pass pass 32v1.2.3.4 pass pass 33v0.1.2 pass pass 34v0.0.0 pass pass 3501 fail pass 3601.0203 fail pass 37v01 fail pass 38v01.02.03 fail pass 39.1 fail pass 40.1.2 fail pass 411. fail pass 421.a fail fail 431._ fail fail 441.02_03 fail pass 45v1.2_3 fail pass 46v1.02_03 fail pass 47v1.2_3_4 fail fail 48v1.2_3.4 fail fail 491.2_3.4 fail fail 500_ fail fail 511_ fail fail 521_. fail fail 531.1_ fail fail 541.02_03_04 fail fail 551.2.3 fail pass 56v1.2 fail pass 57v0 fail pass 58v1 fail pass 59v.1.2.3 fail fail 60v fail fail 61v1.2345.6 fail pass 62undef fail pass 631a fail fail 641.2a3 fail fail 65bar fail fail 66_ fail fail 67CASE_DATA 68 69 require version; 70 version->import( qw/is_strict is_lax/ ); 71 for my $case ( split qr/\n/, $strict_lax_data ) { 72 my ($v, $strict, $lax) = split qr/\t+/, $case; 73 main::ok( $strict eq 'pass' ? is_strict($v) : ! is_strict($v), "is_strict($v) [$strict]" ); 74 main::ok( $strict eq 'pass' ? version::is_strict($v) : ! version::is_strict($v), "version::is_strict($v) [$strict]" ); 75 main::ok( $lax eq 'pass' ? is_lax($v) : ! is_lax($v), "is_lax($v) [$lax]" ); 76 main::ok( $lax eq 'pass' ? version::is_lax($v) : ! version::is_lax($v), "version::is_lax($v) [$lax]" ); 77 } 78} 79