From 31b7bf599e458eb21ecbaab18328738b5352a30a Mon Sep 17 00:00:00 2001 From: Jonathan Rockway Date: Sun, 2 Sep 2007 23:14:54 -0500 Subject: [PATCH] mk dist dir --- lib/CatalystX/Starter.pm | 3 ++- t/mkdir.t | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 t/mkdir.t diff --git a/lib/CatalystX/Starter.pm b/lib/CatalystX/Starter.pm index 7f9b4f1..b205802 100644 --- a/lib/CatalystX/Starter.pm +++ b/lib/CatalystX/Starter.pm @@ -18,7 +18,8 @@ sub _module2dist { sub _make_destination { my $module = shift; - + my $dist = _module2dist($module); + mkdir $dist or die "Failed to create dist directory '$dist': $!"; } diff --git a/t/mkdir.t b/t/mkdir.t new file mode 100644 index 0000000..16ca5b1 --- /dev/null +++ b/t/mkdir.t @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +# Copyright (c) 2007 Jonathan Rockway + +use strict; +use warnings; +use File::pushd; +use Directory::Scratch; +use CatalystX::Starter; + +use Test::TableDriven ( + mk_dist => { 'Foo::Bar' => 'Foo-Bar', + 'a::plugin' => 'a-plugin', + }, +); + +runtests; + +sub mk_dist { + my $module = shift; + my $dir = Directory::Scratch->new; + my $push = pushd("$dir"); + + CatalystX::Starter::_make_destination($module); + my $dist = CatalystX::Starter::_module2dist($module); + + if ($dir->exists($dist)) { + return $dist; + } + + return [$dir->ls]; +}