Remove CPANPLUS's SQLite tests from the core.
[p5sagit/p5-mst-13.2.git] / lib / version.t
index 09fecc9..47989e3 100644 (file)
@@ -5,6 +5,7 @@
 #########################
 
 use Test::More qw(no_plan);
+use Data::Dumper;
 require Test::Harness;
 no warnings 'once';
 *Verbose = \$Test::Harness::Verbose;
@@ -533,6 +534,30 @@ SKIP: {
     unlike($@, qr/^Invalid version format \(alpha with zero width\)/,
        "Invalid version format 1._1");
 
+    {
+       my $warning;
+       local $SIG{__WARN__} = sub { $warning = $_[0] };
+       eval 'my $v = $CLASS->new(~0);';
+       unlike($@, qr/Integer overflow in version/, "Too large version");
+       like($warning, qr/Integer overflow in version/, "Too large version");
+    }
+
+    {
+       # http://rt.cpan.org/Public/Bug/Display.html?id=30004
+       my $v1 = $CLASS->new("v0.1_1");
+       (my $alpha1 = Dumper($v1)) =~ s/.+'alpha' => ([^,]+),.+/$1/ms;
+       my $v2 = $CLASS->new($v1);
+       (my $alpha2 = Dumper($v2)) =~ s/.+'alpha' => ([^,]+),.+/$1/ms;
+       is $alpha2, $alpha1, "Don't fall for Data::Dumper's tricks";
+    }
+
+    {
+       # http://rt.perl.org/rt3/Ticket/Display.html?id=56606
+       my $badv = bless { version => [1,2,3] }, "version";
+       is $badv, '1.002003', "Deal with badly serialized versions from YAML";  
+       my $badv2 = bless { qv => 1, version => [1,2,3] }, "version";
+       is $badv2, 'v1.2.3', "Deal with badly serialized versions from YAML ";  
+    }
 }
 
 1;