Skip to content

Commit

Permalink
remove all references in tests to Mojo::* and fix __load_class
Browse files Browse the repository at this point in the history
  • Loading branch information
kiwiroy committed Mar 24, 2017
1 parent d9fa0d3 commit bac961f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 15 deletions.
1 change: 1 addition & 0 deletions lib/Applify.pm
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ sub app {

sub __load_class {
my $class = shift;
return 1 if $class->can('new');
return eval "require $class; 1" ? 1 : 0;
}

Expand Down
34 changes: 19 additions & 15 deletions t/file-dir.t
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
package TestApp::File;
use overload
'""' => sub { ${$_[0]} },
fallback => 1;
sub new { return bless \(pop), 'TestApp::File'; }

package main;
use warnings;
use strict;
use Test::More;
use Data::Dumper;

my $app = eval <<"HERE" or die $@;
package TestApp;
use Applify;
use Mojo::File 'path';
option dir => directory => 'dir', class => 'Mojo::File';
option file => config_file => 'configuration', class => 'Mojo::File';
option file => file_list => 'files to process', n_of => '\@', class => 'Mojo::File';
option file => output => 'output file', default => 'example/output.txt', class => 'Mojo::File';
option dir => directory => 'dir', class => 'TestApp::File';
option file => config_file => 'configuration', class => 'TestApp::File';
option file => file_list => 'files to process', n_of => '\@', class => 'TestApp::File';
option file => output => 'output file', default => 'example/output.txt', class => 'TestApp::File';
option str => check => 'simple';
app {};
HERE
Expand All @@ -18,25 +25,22 @@ my $script = $app->_script;
{
local @ARGV = ('--directory', '.');
my $app = $script->app;
isa_ok $app->directory, 'Mojo::File', 'directory option';
isa_ok $app->output, 'Mojo::File', 'default';
isa_ok $app->directory, 'TestApp::File', 'directory option';
isa_ok $app->output, 'TestApp::File', 'default';
is $app->output, 'example/output.txt', 'output file default';
}

{
local @ARGV = ('--directory', 'example');
my $app = $script->app;
isa_ok $app->directory, 'Mojo::File', 'directory option';
my $files = $app->directory->list;
isa_ok $files, 'Mojo::Collection';
my @set = @$files;
is_deeply(\@set, [map { "example/$_" } qw{fatpack.sh moo.pl test1.pl}], 'file list');
isa_ok $app->directory, 'TestApp::File', 'directory option';
ok -d $app->directory, 'directory exists and is a directory';
}

{
local @ARGV = ('--config', 'example/moo.pl');
my $app = $script->app;
isa_ok $app->config_file, 'Mojo::File', 'config option';
isa_ok $app->config_file, 'TestApp::File', 'config option';
ok -e $app->config_file, '"config file" exists';
}

Expand All @@ -55,7 +59,7 @@ my $script = $app->_script;
isa_ok $app->file_list, 'ARRAY', 'file list option ';
ok -e $_, 'file exists' for @{$app->file_list};
is @{$app->file_list}, 2, 'correct # of files';
isa_ok $_, 'Mojo::File', 'file is a Mojo::File' for @{$app->file_list};
isa_ok $_, 'TestApp::File', 'file is a TestApp::File' for @{$app->file_list};
}


Expand Down

0 comments on commit bac961f

Please sign in to comment.