]> git.vpit.fr Git - perl/modules/Lexical-Types.git/blobdiff - t/22-scalar-constants.t
Renumber test files
[perl/modules/Lexical-Types.git] / t / 22-scalar-constants.t
diff --git a/t/22-scalar-constants.t b/t/22-scalar-constants.t
new file mode 100644 (file)
index 0000000..c4a550b
--- /dev/null
@@ -0,0 +1,36 @@
+#!perl -T
+
+use strict;
+use warnings;
+
+use Test::More tests => 6;
+
+use constant Str => 'MyTypes::Str';
+use constant Int => 'MyTypes::Int';
+use constant Num => 'MyTypes::Num';
+
+sub MyTypes::Str::new { "str:$_[0]" }
+
+sub MyTypes::Int::new { "int:$_[0]" }
+
+{ package MyTypes::Num }
+
+{
+ use Lexical::Types as => sub { $_[0] =~ /(?:Str|Int)/ ? ($_[0], 'new') : () };
+
+ my Str $x;
+ is $x, "str:MyTypes::Str", 'my constant_type $x';
+
+ my Int ($y, $z);
+ is $y, "int:MyTypes::Int", 'my constant_type ($y,';
+ is $z, "int:MyTypes::Int", 'my constant_type  $z)';
+
+ my Num $t;
+ is $t, undef, 'my constant_type_skipped $t';
+
+ my MyTypes::Str $u;
+ is $u, "str:MyTypes::Str", 'my MyTypes::Str $u';
+
+ my MyTypes::Num $v;
+ is $v, undef, 'my MyTypes::Num $v';
+}