NAME

Test::Moose - Test functions for Moose specific features

VERSION

version 2.1004

SYNOPSIS

use Test::More plan => 1;
use Test::Moose;

meta_ok($class_or_obj, "... Foo has a ->meta");
does_ok($class_or_obj, $role, "... Foo does the Baz role");
has_attribute_ok($class_or_obj, $attr_name, "... Foo has the 'bar' attribute");

DESCRIPTION

This module provides some useful test functions for Moose based classes. It is an experimental first release, so comments and suggestions are very welcome.

EXPORTED FUNCTIONS

meta_ok ($class_or_object)

Tests if a class or object has a metaclass.

does_ok ($class_or_object, $role, ?$message)

Tests if a class or object does a certain role, similar to what isa_ok does for the isa method.

has_attribute_ok($class_or_object, $attr_name, ?$message)

Tests if a class or object has a certain attribute, similar to what can_ok does for the methods.

with_immutable { CODE } @class_names

Runs CODE (which should contain normal tests) twice, and make each class in @class_names immutable in between the two runs.

The CODE block is called with a single boolean argument indicating whether or not the classes have been made immutable yet.

TODO

Convert the Moose test suite to use this module.
Here is a list of possible functions to write
immutability predicates
anon-class predicates
discovering original method from modified method
attribute metaclass predicates (attribute_isa?)

SEE ALSO

Test::More

BUGS

See "BUGS" in Moose for details on reporting bugs.

AUTHOR

Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Infinity Interactive, Inc..

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