diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2014-08-24 16:36:19 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2014-08-24 16:36:19 +0000 |
commit | b808141b894ad538db75a7067e0199cbfe6337a9 (patch) | |
tree | b3560724f86d6383c5ded5a79749c3f69592eb51 /t/env-value.t | |
download | Module-Implementation-tarball-master.tar.gz |
Module-Implementation-0.09HEADModule-Implementation-0.09master
Diffstat (limited to 't/env-value.t')
-rw-r--r-- | t/env-value.t | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/t/env-value.t b/t/env-value.t new file mode 100644 index 0000000..c1d439e --- /dev/null +++ b/t/env-value.t @@ -0,0 +1,39 @@ +use strict; +use warnings; + +use Test::More 0.88; + +{ + package T; + + use strict; + use warnings; + + use lib 't/lib'; + + use Module::Implementation; + my $loader = Module::Implementation::build_loader_sub( + implementations => [ 'Impl1', 'Impl2' ], + symbols => ['return_42'], + ); + + $ENV{T_IMPLEMENTATION} = 'Impl2'; + + $loader->(); +} + +{ + ok( T->can('return_42'), 'T package has a return_42 sub' ); + ok( + !T->can('return_package'), + 'T package does not have return_package sub - only copied requested symbols' + ); + is( T::return_42(), 42, 'T::return_42 work as expected' ); + is( + Module::Implementation::implementation_for('T'), + 'Impl2', + 'T::_implementation returns implementation set in ENV' + ); +} + +done_testing(); |