Test::Moose - Test functions for Moose specific features

  1. VERSION
  2. SYNOPSIS
  3. DESCRIPTION
  4. EXPORTED FUNCTIONS
    1. meta_ok ($class_or_object)
    2. does_ok ($class_or_object, $role, ?$message)
    3. has_attribute_ok($class_or_object, $attr_name, ?$message)
    4. with_immutable { CODE } @class_names
  5. TODO
  6. SEE ALSO
  7. BUGS
  8. AUTHORS
  9. COPYRIGHT AND LICENSE

VERSION

version 2.2207

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.

AUTHORS

This software is copyright (c) 2006 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.