SYNOPSIS

       use Test::More;
       use Test::DirectoryLayout qw(directory_layout_ok get_allowed_dirs set_allowed_dirs);

       my $ok = directory_layout_ok();

       my @allowed_dirs = qw(bin blib lib config doc t);
       set_allowed_dirs(\@allowed_dirs);

       my $allowed_dirs = get_allowed_dirs();

DESCRIPTION

   This test module helps you to keep your project directory clean. It
   provides a test tool that can be used in your test suite to make sure
   only the allowed set of directories exists:

       use Test::More;
       use Test::DirectoryLayout qw(directory_layout_ok get_allowed_dirs set_allowed_dirs);

       ok directory_layout_ok(), 'directory layout is ok';

   The predefined set of allowed directories looks like this:

       my @allowed_dirs = qw(bin blib lib config doc t);

   You can set it using set_allowed_dirs:

       my @allowed_dirs = qw(bin blib lib config doc t);
       set_allowed_dirs(\@allowed_dirs);

   You can get the set of currently allowed dirs by calling
   get_allowed_dirs:

       my $allowed_dirs = get_allowed_dirs();

FUNCTIONS

get_allowed_dirs

   Returns reference to the list of allowed directories.

set_allowed_dirs($dirs)

   Set list of allowed directories to the provided list. The contents of
   the list are copied.

directory_layout_ok ($dir)

   Tests if the provided directory contains only allowed directories.

   If no name is provided the current directory is assumed.

SEE ALSO

     * Test::Dir for testing several attributes of a single directory.

     * Test::Dirs for comparing a directory with an existing directory.

     * Test::Directory for testing if creating and deleting files and
     directories was performed as expected.