1b8851fccSafresh1#! perl 2b8851fccSafresh1 3b8851fccSafresh1use Test::More qw/no_plan/; 4b8851fccSafresh1 5b8851fccSafresh1use version; 6b8851fccSafresh1 7b8851fccSafresh1# These values are from the Lyon consensus, as taken from 8b8851fccSafresh1# https://gist.github.com/dagolden/9559280 9b8851fccSafresh1 10*256a93a4Safresh1ok('version'->new(1.0203) == 'version'->new('1.0203')); 11*256a93a4Safresh1ok('version'->new(1.02_03) == 'version'->new('1.02_03')); 12*256a93a4Safresh1ok('version'->new(v1.2.3) == 'version'->new('v1.2.3')); 13b8851fccSafresh1if ($] >= 5.008_001) { 14*256a93a4Safresh1 ok('version'->new(v1.2.3_0) == 'version'->new('v1.2.3_0')); 15b8851fccSafresh1} 16b8851fccSafresh1 17*256a93a4Safresh1cmp_ok('version'->new(1.0203), '==', 'version'->new('1.0203')); 18*256a93a4Safresh1cmp_ok('version'->new(1.02_03), '==', 'version'->new('1.02_03')); 19*256a93a4Safresh1cmp_ok('version'->new(v1.2.3), '==', 'version'->new('v1.2.3')); 20b8851fccSafresh1if ($] >= 5.008_001) { 21*256a93a4Safresh1 cmp_ok('version'->new(v1.2.3_0), '==', 'version'->new('v1.2.3_0')); 22b8851fccSafresh1} 23b8851fccSafresh1 24*256a93a4Safresh1cmp_ok('version'->new('1.0203')->numify, '==', '1.0203'); 25*256a93a4Safresh1is('version'->new('1.0203')->normal, 'v1.20.300'); 26b8851fccSafresh1 27*256a93a4Safresh1cmp_ok('version'->new('1.02_03')->numify, '==', '1.0203'); 28*256a93a4Safresh1is('version'->new('1.02_03')->normal, 'v1.20.300'); 29b8851fccSafresh1 30*256a93a4Safresh1cmp_ok('version'->new('v1.2.30')->numify, '==', '1.002030'); 31*256a93a4Safresh1is('version'->new('v1.2.30')->normal, 'v1.2.30'); 32*256a93a4Safresh1cmp_ok('version'->new('v1.2.3_0')->numify, '==', '1.002030'); 33*256a93a4Safresh1is('version'->new('v1.2.3_0')->normal, 'v1.2.30'); 34b8851fccSafresh1 35*256a93a4Safresh1is('version'->new("1.0203")->stringify, "1.0203"); 36*256a93a4Safresh1is('version'->new("1.02_03")->stringify, "1.02_03"); 37*256a93a4Safresh1is('version'->new("v1.2.30")->stringify, "v1.2.30"); 38*256a93a4Safresh1is('version'->new("v1.2.3_0")->stringify, "v1.2.3_0"); 39*256a93a4Safresh1is('version'->new(1.0203)->stringify, "1.0203"); 40*256a93a4Safresh1is('version'->new(1.02_03)->stringify, "1.0203"); 41*256a93a4Safresh1is('version'->new(v1.2.30)->stringify, "v1.2.30"); 42b8851fccSafresh1if ($] >= 5.008_001) { 43*256a93a4Safresh1 is('version'->new(v1.2.3_0)->stringify, "v1.2.30"); 44b8851fccSafresh1} 45