Path::Class -> Path::Tiny
[gitmo/MooseX-Getopt.git] / t / 008_configfromfile.t
index bcb0322..9373d0f 100644 (file)
@@ -1,13 +1,11 @@
 use strict;
 use warnings;
 
-use Test::More tests => 37;
+use Test::Requires 'MooseX::ConfigFromFile' => '0.06';    # skip all if not installed
+use Test::More tests => 38;
 use Test::Fatal;
-use File::Spec;
-
-use Test::Requires {
-    'MooseX::ConfigFromFile' => 0.01, # skip all if not installed
-};
+use Path::Tiny;
+use Test::NoWarnings 1.04 ':early';
 
 {
     package App;
@@ -49,7 +47,7 @@ use Test::Requires {
             optional_from_config => 'from_config_2',
         );
 
-        my $cpath = File::Spec->canonpath('/notused/default');
+        my $cpath = Path::Tiny::path('/notused/default');
         if ( $file ne $cpath ) {
             $config{config_from_override} = 1;
         }
@@ -65,7 +63,7 @@ use Test::Requires {
     extends 'App';
 
     has '+configfile' => (
-        default => File::Spec->canonpath('/notused/default'),
+        default => Path::Tiny::path('/notused/default')->stringify,
     );
 }
 
@@ -76,7 +74,7 @@ use Test::Requires {
     extends 'App';
 
     has '+configfile' => (
-        default => sub { return File::Spec->canonpath('/notused/default') },
+        default => sub { return Path::Tiny::path('/notused/default') },
     );
 }
 
@@ -84,12 +82,10 @@ use Test::Requires {
 {
     local @ARGV = qw( --required_from_argv 1 );
 
-    if ($Getopt::Long::Descriptive::VERSION >= 0.091) {
-        like exception { App->new_with_options }, qr/Mandatory parameter 'required_from_config' missing/;
-    }
-    else {
-        like exception { App->new_with_options }, qr/Required option missing: required_from_config/;
-    }
+    like exception { App->new_with_options },
+        ($Getopt::Long::Descriptive::VERSION >= 0.091
+            ? qr/Mandatory parameter 'required_from_config' missing/
+            : qr/Required option missing: required_from_config/);
 
     {
         my $app = App::DefaultConfigFile->new_with_options;
@@ -99,7 +95,7 @@ use Test::Requires {
         ok(  !$app->config_from_override,
             '... config_from_override false as expected' );
 
-        is( $app->configfile, File::Spec->canonpath('/notused/default'),
+        is( $app->configfile, path('/notused/default'),
             '... configfile is /notused/default as expected' );
     }
 }
@@ -116,7 +112,7 @@ use Test::Requires {
         ok(  !$app->config_from_override,
             '... config_from_override false as expected' );
 
-        is( $app->configfile, File::Spec->canonpath('/notused/default'),
+        is( $app->configfile, path('/notused/default'),
             '... configfile is /notused/default as expected' );
     }
 }
@@ -139,7 +135,7 @@ use Test::Requires {
         ok( $app->config_from_override,
              '... config_from_override true as expected' );
 
-        is( $app->configfile, File::Spec->canonpath('/notused'),
+        is( $app->configfile, path('/notused'),
             '... configfile is /notused as expected' );
     }
     {
@@ -150,7 +146,7 @@ use Test::Requires {
         ok( $app->config_from_override,
              '... config_from_override true as expected' );
 
-        is( $app->configfile, File::Spec->canonpath('/notused'),
+        is( $app->configfile, path('/notused'),
             '... configfile is /notused as expected' );
     }
 }
@@ -158,12 +154,10 @@ use Test::Requires {
 # Required arg not supplied from cmdline
 {
     local @ARGV = qw( --configfile /notused );
-    if ($Getopt::Long::Descriptive::VERSION >= 0.091) {
-        like exception { App->new_with_options }, qr/Mandatory parameter 'required_from_argv' missing/;
-    }
-    else {
-        like exception { App->new_with_options }, qr/Required option missing: required_from_argv/;
-    }
+    like exception { App->new_with_options },
+        ($Getopt::Long::Descriptive::VERSION >= 0.091
+            ? qr/Mandatory parameter 'required_from_argv' missing/
+            : qr/Required option missing: required_from_argv/);
 }
 
 # Config file value overriden from cmdline