Stevan Little > IOC > Test::IOC

Download:
IOC-0.29.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.01   Source  

NAME ^

Test::IOC - Test IOC registries

SYNOPSIS ^

    use Test::More;
    use Test::IOC;

    use MyIOCStuff;

    service_exists("/app/log_file");
    service_is_literal("/app/log_file");
    
    service_exists("/app/logger");
    service_is_singleton("/app/logger");
    service_can("/app/logger", qw/warn debug/);

DESCRIPTION ^

This module provides some simple facilities to test IOC registries for correctness.

CAVEAT ^

This module is still in development, so use at your own risk. But then again, its for tests, so thats not very risky anyway.

EXPORTS ^

service_exists $path
container_exists $path

Checks that the path exists in the registry.

service_is $path, $spec
service_isa $path, $class
service_can $path, @methods
service_is_deeply $path, $spec

These methods provide tests akin to Test::More's is, isa_ok, can_ok and is_deeply, except that the first argument is used as a path to fetch from the registry.

service_is_singleton $path
service_is_literal $path
service_is_prototype $path

Checks that the service constructor class is of the right type for lifecycle management.

service_alias_ok $real, $alias

Check that the path $real has an alias $alias

container_list_is $parent_path, \@container_names
service_list_is $parent_path, \@service_names

Check that the child elements under $parent_path are as listed in the service name array reference. The names don't have to be sorte.

get_service_object $path

Utility function to get the IOC::Service object (not the service itself) for a given path.

locate_container $path

Utility function to call "locateContainer" in IOC::Registry.

locate_service $path

Utility function to call "locateService" in IOC::Registry.

search_for_container $name

Utility function to call "searchForContainer" in IOC::Registry.

search_for_service $name

Utility function to call "searchForService" in IOC::Registry.

BUGS ^

None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it.

AUTHOR ^

Yuval Kogman

COPYRIGHT AND LICENSE ^

Copyright 2004-2007 by Infinity Interactive, Inc.

http://www.iinteractive.com

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

syntax highlighting: