16fb12b70Safresh1#! /usr/local/perl -w 26fb12b70Safresh1# Before `make install' is performed this script should be runnable with 36fb12b70Safresh1# `make test'. After `make install' it should work as `perl test.pl' 46fb12b70Safresh1 56fb12b70Safresh1######################### 66fb12b70Safresh1 76fb12b70Safresh1use Test::More qw/no_plan/; 86fb12b70Safresh1 96fb12b70Safresh1# do strict lax tests in a sub to isolate a package to test importing 106fb12b70Safresh1SKIP: { 116fb12b70Safresh1 skip 'No extended regexes Perl < 5.006', 174 126fb12b70Safresh1 if $] < 5.006_000; 136fb12b70Safresh1 strict_lax_tests(); 146fb12b70Safresh1 is ref($version::LAX), 'Regexp', 'Can see $version::LAX '.$version::LAX ; 156fb12b70Safresh1 is ref($version::STRICT), 'Regexp', 'Can see $version::STRICT '.$version::STRICT; 165759b3d2Safresh1 { # https://rt.cpan.org/Ticket/Display.html?id=114712 175759b3d2Safresh1 my ($v) = ( "snapshot-1.2.3ga-001-432" =~ /($version::LAX)/ ); 185759b3d2Safresh1 is $v, '1.2.3', "Extract just the version: $v"; 195759b3d2Safresh1 ($v) = ( "snapshot-1.2ga-001-432" =~ /($version::LAX)/ ); 205759b3d2Safresh1 is $v, '1.2', "Extract just the version: $v"; 215759b3d2Safresh1 ($v) = ( "snapshot-v1.2.3ga-001-432" =~ /($version::STRICT)/ ); 225759b3d2Safresh1 is $v, 'v1.2.3', "Extract just the version: $v"; 235759b3d2Safresh1 } 245759b3d2Safresh1 255759b3d2Safresh1 is ref($version::LAX_DECIMAL_VERSION), 'Regexp', 'Can see $version::LAX_DECIMAL_VERSION '.$version::LAX_DECIMAL_VERSION ; 265759b3d2Safresh1 is ref($version::LAX_DOTTED_DECIMAL_VERSION), 'Regexp', 'Can see $version::LAX_DOTTED_DECIMAL_VERSION '.$version::LAX_DOTTED_DECIMAL_VERSION ; 275759b3d2Safresh1 is ref($version::STRICT_DECIMAL_VERSION), 'Regexp', 'Can see $version::STRICT_DECIMAL_VERSION '.$version::STRICT_DECIMAL_VERSION; 285759b3d2Safresh1 is ref($version::STRICT_DOTTED_DECIMAL_VERSION), 'Regexp', 'Can see $version::STRICT_DOTTED_DECIMAL_VERSION '.$version::STRICT_DOTTED_DECIMAL_VERSION; 295759b3d2Safresh1 { # https://rt.cpan.org/Ticket/Display.html?id=119669 305759b3d2Safresh1 ($v) = ( "snapshot-1.2.3ga-001-432" =~ /($version::LAX_DOTTED_DECIMAL_VERSION)/ ); 315759b3d2Safresh1 is $v, '1.2.3', "Extract just the version: $v"; 325759b3d2Safresh1 ($v) = ( "snapshot-1.2ga-001-432" =~ /($version::LAX_DECIMAL_VERSION)/ ); 335759b3d2Safresh1 is $v, '1.2', "Extract just the version: $v"; 345759b3d2Safresh1 ($v) = ( "snapshot-v1.2.3ga-001-432" =~ /($version::STRICT_DOTTED_DECIMAL_VERSION)/ ); 355759b3d2Safresh1 is $v, 'v1.2.3', "Extract just the version: $v"; 365759b3d2Safresh1 ($v) = ( "snapshot-1.2ga-001-432" =~ /($version::STRICT_DECIMAL_VERSION)/ ); 375759b3d2Safresh1 is $v, '1.2', "Extract just the version: $v"; 385759b3d2Safresh1 } 396fb12b70Safresh1} 406fb12b70Safresh1 416fb12b70Safresh1 426fb12b70Safresh1sub strict_lax_tests { 436fb12b70Safresh1 package temp12345; 446fb12b70Safresh1 # copied from perl core test t/op/packagev.t 456fb12b70Safresh1 # format: STRING STRICT_OK LAX_OK 466fb12b70Safresh1 my $strict_lax_data = << 'CASE_DATA'; 476fb12b70Safresh11.00 pass pass 486fb12b70Safresh11.00001 pass pass 496fb12b70Safresh10.123 pass pass 506fb12b70Safresh112.345 pass pass 516fb12b70Safresh142 pass pass 526fb12b70Safresh10 pass pass 536fb12b70Safresh10.0 pass pass 546fb12b70Safresh1v1.2.3 pass pass 556fb12b70Safresh1v1.2.3.4 pass pass 566fb12b70Safresh1v0.1.2 pass pass 576fb12b70Safresh1v0.0.0 pass pass 586fb12b70Safresh101 fail pass 596fb12b70Safresh101.0203 fail pass 606fb12b70Safresh1v01 fail pass 616fb12b70Safresh1v01.02.03 fail pass 626fb12b70Safresh1.1 fail pass 636fb12b70Safresh1.1.2 fail pass 646fb12b70Safresh11. fail pass 656fb12b70Safresh11.a fail fail 666fb12b70Safresh11._ fail fail 676fb12b70Safresh11.02_03 fail pass 686fb12b70Safresh1v1.2_3 fail pass 696fb12b70Safresh1v1.02_03 fail pass 706fb12b70Safresh1v1.2_3_4 fail fail 716fb12b70Safresh1v1.2_3.4 fail fail 726fb12b70Safresh11.2_3.4 fail fail 736fb12b70Safresh10_ fail fail 746fb12b70Safresh11_ fail fail 756fb12b70Safresh11_. fail fail 766fb12b70Safresh11.1_ fail fail 776fb12b70Safresh11.02_03_04 fail fail 786fb12b70Safresh11.2.3 fail pass 796fb12b70Safresh1v1.2 fail pass 806fb12b70Safresh1v0 fail pass 816fb12b70Safresh1v1 fail pass 826fb12b70Safresh1v.1.2.3 fail fail 836fb12b70Safresh1v fail fail 846fb12b70Safresh1v1.2345.6 fail pass 856fb12b70Safresh1undef fail pass 866fb12b70Safresh11a fail fail 876fb12b70Safresh11.2a3 fail fail 886fb12b70Safresh1bar fail fail 896fb12b70Safresh1_ fail fail 906fb12b70Safresh1CASE_DATA 916fb12b70Safresh1 926fb12b70Safresh1 require version; 93*256a93a4Safresh1 'version'->import( qw/is_strict is_lax/ ); 946fb12b70Safresh1 for my $case ( split qr/\n/, $strict_lax_data ) { 956fb12b70Safresh1 my ($v, $strict, $lax) = split qr/\t+/, $case; 966fb12b70Safresh1 main::ok( $strict eq 'pass' ? is_strict($v) : ! is_strict($v), "is_strict($v) [$strict]" ); 976fb12b70Safresh1 main::ok( $strict eq 'pass' ? version::is_strict($v) : ! version::is_strict($v), "version::is_strict($v) [$strict]" ); 986fb12b70Safresh1 main::ok( $lax eq 'pass' ? is_lax($v) : ! is_lax($v), "is_lax($v) [$lax]" ); 996fb12b70Safresh1 main::ok( $lax eq 'pass' ? version::is_lax($v) : ! version::is_lax($v), "version::is_lax($v) [$lax]" ); 1006fb12b70Safresh1 } 1016fb12b70Safresh1} 102