File: 03-block-require-module.t

package info (click to toggle)
libtest-without-module-perl 0.17-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 100 kB
  • ctags: 10
  • sloc: perl: 139; makefile: 15
file content (26 lines) | stat: -rwxr-xr-x 858 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/perl -w
use strict;
use Symbol qw( delete_package );
use Test::More tests => 6;

BEGIN { use_ok( "Test::Without::Module", qw( Digest::MD5 )); };

{
  use Test::Without::Module qw( Digest::MD5 );

  eval { require Digest::MD5 };
  use Test::Without::Module qw( Digest::MD5 );
  ok( $@ ne '', "Loading raised error");
  like( $@, qr!^(Can't locate Digest/MD5.pm in \@INC|Digest/MD5.pm did not return a true value at)!, "Hid module");
  is_deeply( [sort keys %{Test::Without::Module::get_forbidden_list()}],[ qw[ Digest::MD5 ]],"Module list" );
  delete_package( 'Digest::MD5' );
};

TODO: {
  local $TODO = 'Implement lexical scoping';
  eval { require 'Digest::MD5' };
  is( $@, '', "Local (require) confinement");
  delete_package( 'Digest::MD5' );
  eval q{ use Digest::MD5 };
  is( $@, '', "Local (use) confinement");
};