Moosified
[gitmo/MooseX-Types.git] / t / lib / TestWrapper.pm
CommitLineData
c20dc98b 1package TestWrapper;
3df5416a 2use Moose;
c20dc98b 3
3df5416a 4extends 'MooseX::TypeLibrary::Wrapper';
5#use Class::C3;
6#use base 'MooseX::TypeLibrary::Wrapper';
c20dc98b 7
3df5416a 8around type_export_generator => sub {
9 my $code = super();
c20dc98b 10 return sub { $code->(@_) };
3df5416a 11};
c20dc98b 12
3df5416a 13#sub type_export_generator {
14# my $class = shift;
15# my ($type, $full) = @_;
16# my $code = $class->next::method(@_);
17# return sub { $code->(@_) };
18#}
19
20around check_export_generator => sub {
21 my $code = super();
c20dc98b 22 return sub {
23 return $code unless @_;
24 return $code->(@_);
25 };
3df5416a 26};
27
28#sub check_export_generator {
29# my $class = shift;
30# my ($type, $full, $undef_msg) = @_;
31# my $code = $class->next::method(@_);
32# return sub {
33# return $code unless @_;
34# return $code->(@_);
35# };
36#}
c20dc98b 37
3df5416a 38around coercion_export_generator => sub {
39 my $code = super();
c20dc98b 40 return sub {
3df5416a 41 my $value = $code->(@_);
42 die "coercion returned undef\n" unless defined $value;
43 return $value;
c20dc98b 44 };
3df5416a 45};
46
47#sub coercion_export_generator {
48# my $class = shift;
49# my ($type, $full, $undef_msg) = @_;
50# my $code = $class->next::method(@_);
51# return sub {
52# my $val = $code->(@_);
53# die "coercion returned undef\n" unless defined $val;
54# return $val;
55# };
56#}
c20dc98b 57
581;