convert from Path::Class to Path::Tiny
Karen Etheridge [Sat, 2 Feb 2013 21:06:38 +0000 (13:06 -0800)]
ChangeLog
t/06_path_tiny.t [new file with mode: 0644]

index 003ee5e..75a5874 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 Revision history for Perl extension MooseX::ConfigFromFile
 
+    - the configfile attribute is now a Path::Tiny, not a Path::Class
+    (coercions from strings are still supported, and now also from any other
+    type that has a string coercion).
+
 0.05 - 2013-02-03 (Karen Etheridge)
     - documentation corrected to demostrate how to properly override the
     configfile method to provide a default from the consuming class, without
diff --git a/t/06_path_tiny.t b/t/06_path_tiny.t
new file mode 100644 (file)
index 0000000..24c45ae
--- /dev/null
@@ -0,0 +1,27 @@
+use strict;
+use warnings;
+
+use Test::More tests => 5;
+use Test::NoWarnings 1.04 ':early';
+use Path::Tiny 'path';
+use Path::Class 'file';
+
+{
+    package Generic;
+    use Moose;
+    with 'MooseX::SimpleConfig';
+    sub get_config_from_file { }
+}
+
+{
+    my $obj = Generic->new(configfile => path('i/do/not_exist'));
+    is($obj->configfile, 'i/do/not_exist', 'stringification returns path');
+    isa_ok($obj->configfile, 'Path::Tiny');
+}
+
+{
+    my $obj = Generic->new(configfile => file('i/do/not_exist'));
+    is($obj->configfile, 'i/do/not_exist', 'stringification returns path');
+    isa_ok($obj->configfile, 'Path::Tiny');
+}
+