Keiji Yoshimi > Test-TypeConstraints-0.05 > Test::TypeConstraints

Download:
Test-TypeConstraints-0.05.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  0
View/Report Bugs
Module Version: 0.05   Source   Latest Release: Test-TypeConstraints-0.07

NAME ^

Test::TypeConstraints - testing whether some value is valid as (Moose|Mouse)::Meta::TypeConstraint

SYNOPSIS ^

  use Test::TypeConstraints qw(type_isa);

  type_isa($got, "ArrayRef[Int]", "type should be ArrayRef[Int]");

DESCRIPTION ^

Test::TypeConstraints is for testing whether some value is valid as (Moose|Mouse)::Meta::TypeConstraint.

METHOD ^

type_isa($got, $typename_or_type, $test_name, %options)

    $got is value for checking.
    $typename_or_type is a Classname or Mouse::Meta::TypeConstraint name or "Mouse::Meta::TypeConstraint" object or "Moose::Meta::TypeConstraint::Class" object.
    %options is Hash. value is followings:

coerce: Bool or CodeRef

If true, it will try coercion when checking a value.

If a CodeRef is given, it will be run and passed in the coerced value for additional testing.

    type_isa $value, "Some::Class", "coerce to Some::Class", coerce => sub {
        isa_ok $_[0], "Some::Class";
        is $_[0]->value, $value;
    };

type_does($got, $rolename_or_role, $test_name, %options)

    $got is value for checking.
    $typename_or_type is a Classname or Mouse::Meta::TypeConstraint name or "Mouse::Meta::TypeConstraint" object or "Moose::Meta::TypeConstraint::Role" object.
    %options is Hash. value is followings:

coerce: Bool or CodeRef

Same as type_isa's coerce option.

type_isnt($got, $typename_or_type, $test_name, %options)

type_doesnt($got, $rolename_or_role, $test_name, %options)

The opposite of type_isa and type_doesnt respectively and takes the same arguments and options. Checks that $got is not of the given type or role.

AUTHOR ^

Keiji Yoshimi <walf443 at gmail dot com>

THANKS TO ^

schwern
gfx
tokuhirom

SEE ALSO ^

+<Mouse::Util::TypeConstraints>, +<Moose::Util::TypeConstraints>

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: