Hello community,

here is the log from the commit of package perl-Path-Class for openSUSE:Factory 
checked in at 2016-02-25 22:03:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Path-Class (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Path-Class.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Path-Class"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Path-Class/perl-Path-Class.changes  
2014-09-17 17:26:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Path-Class.new/perl-Path-Class.changes     
2016-02-26 00:39:29.000000000 +0100
@@ -1,0 +2,19 @@
+Fri Feb 19 10:45:15 UTC 2016 - [email protected]
+
+- updated to 0.36
+   see /usr/share/doc/packages/perl-Path-Class/Changes
+
+  0.36  Tue Feb 16 22:16:21 CST 2016
+  
+   - 117bd64 - Use croak instead of die; use eval syntax instead of 
universal::isa (as perlcritic wishes) <viviparous>
+   - 4b620b6 - Load File::Copy and Perl::OSType only when used (copy_to, 
move_to) <Olivier Mengué>
+   - 55ecb58 - always use canonpath on arguments to splitdir <Andrew Gregory>
+   - 25c12f7 - Fix 'Operation "eq": no method found' error (RT #77259), whose 
underlying cause
+     isn't really understood. <mzrinsky>
+   - 935eeed - Add some fixes & tests for contains() with updir stuff (github 
#43) <Ken Williams>
+   - 927fa74 - Fix Carp::Croak to Carp::croak <Ken Williams>
+   - 2d615ca 34da6d3 5fcad02 1b7be68 a622acf - Fixed and improved Travis 
testing configuration <Dave Rolsky>
+   - 2a74c40 - Fix Pod typos <Сергей Романов>
+   - 28ca95a - Check all print calls in spew and explicitly call (and check) 
close <Dave Rolsky>
+
+-------------------------------------------------------------------

Old:
----
  Path-Class-0.35.tar.gz

New:
----
  Path-Class-0.36.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Path-Class.spec ++++++
--- /var/tmp/diff_new_pack.lcCAKS/_old  2016-02-26 00:39:30.000000000 +0100
+++ /var/tmp/diff_new_pack.lcCAKS/_new  2016-02-26 00:39:30.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Path-Class
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,20 +17,21 @@
 
 
 Name:           perl-Path-Class
-Version:        0.35
+Version:        0.36
 Release:        0
 %define cpan_name Path-Class
 Summary:        Cross-platform path specification manipulation
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Path-Class/
-Source:         
http://www.cpan.org/authors/id/K/KW/KWILLIAMS/%{cpan_name}-%{version}.tar.gz
+Source0:        
http://www.cpan.org/authors/id/K/KW/KWILLIAMS/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(File::Spec) >= 3.26
-BuildRequires:  perl(Module::Build) >= 0.3601
+BuildRequires:  perl(Module::Build) >= 0.360100
 BuildRequires:  perl(Perl::OSType)
 BuildRequires:  perl(parent)
 Requires:       perl(File::Spec) >= 3.26
@@ -45,10 +46,10 @@
 manner. It supports pretty much every platform Perl runs on, including
 Unix, Windows, Mac, VMS, Epoc, Cygwin, OS/2, and NetWare.
 
-The well-known module the File::Spec manpage also provides this service,
-but it's sort of awkward to use well, so people sometimes avoid it, or use
-it in a way that won't actually work properly on platforms significantly
-different than the ones they've tested their code on.
+The well-known module File::Spec also provides this service, but it's sort
+of awkward to use well, so people sometimes avoid it, or use it in a way
+that won't actually work properly on platforms significantly different than
+the ones they've tested their code on.
 
 In fact, 'Path::Class' uses 'File::Spec' internally, wrapping all the
 unsightly details so you can concentrate on your application code. Whereas
@@ -82,9 +83,9 @@
 you use 'Path::Class', your file and directory objects will know what
 volumes they refer to and do the right thing.
 
-The guts of the 'Path::Class' code live in the the Path::Class::File
-manpage and the Path::Class::Dir manpage modules, so please see those
-modules' documentation for more details about how to use them.
+The guts of the 'Path::Class' code live in the Path::Class::File and
+Path::Class::Dir modules, so please see those modules' documentation for
+more details about how to use them.
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
@@ -102,6 +103,6 @@
 
 %files -f %{name}.files
 %defattr(-,root,root,755)
-%doc Changes cpanfile LICENSE README
+%doc Changes LICENSE README
 
 %changelog

++++++ Path-Class-0.35.tar.gz -> Path-Class-0.36.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/Build.PL new/Path-Class-0.36/Build.PL
--- old/Path-Class-0.35/Build.PL        2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/Build.PL        2016-02-17 05:17:44.000000000 +0100
@@ -18,7 +18,7 @@
     "Ken Williams <kwilliams\@cpan.org>"
   ],
   "dist_name" => "Path-Class",
-  "dist_version" => "0.35",
+  "dist_version" => "0.36",
   "license" => "perl",
   "module_name" => "Path::Class",
   "recommends" => {},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/Changes new/Path-Class-0.36/Changes
--- old/Path-Class-0.35/Changes 2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/Changes 2016-02-17 05:17:44.000000000 +0100
@@ -1,70 +1,63 @@
 Revision history for Perl extension Path::Class.
 
+0.36  Tue Feb 16 22:16:21 CST 2016
+
+ - 117bd64 - Use croak instead of die; use eval syntax instead of 
universal::isa (as perlcritic wishes) <viviparous>
+ - 4b620b6 - Load File::Copy and Perl::OSType only when used (copy_to, 
move_to) <Olivier Mengué>
+ - 55ecb58 - always use canonpath on arguments to splitdir <Andrew Gregory>
+ - 25c12f7 - Fix 'Operation "eq": no method found' error (RT #77259), whose 
underlying cause
+   isn't really understood. <mzrinsky>
+ - 935eeed - Add some fixes & tests for contains() with updir stuff (github 
#43) <Ken Williams>
+ - 927fa74 - Fix Carp::Croak to Carp::croak <Ken Williams>
+ - 2d615ca 34da6d3 5fcad02 1b7be68 a622acf - Fixed and improved Travis testing 
configuration <Dave Rolsky>
+ - 2a74c40 - Fix Pod typos <Сергей Романов>
+ - 28ca95a - Check all print calls in spew and explicitly call (and check) 
close <Dave Rolsky>
+
 0.35  Sun Sep 14 21:29:07 CDT 2014
 
  - fce4b8e - Fixed a t/03-filesystem.t test error on Windows <Andrew Gregory>
 
-
 0.34  Thu Aug 28 22:27:03 CDT 2014
 
  - df23e17 - Add a new spew_lines() method <William Stevenson>
-
  - 3ffef39 - Don't convert file into directory in subsumes() <Dagfinn Ilmari 
Mannsåker>
-
  - 9a01a71 - Updated POD for copy_to and move_to methods <Robert Rothenberg>
-
  - 210a7ef - Stringify destination for copy_to method <Robert Rothenberg>
-
  - 9f83723 - Stringify destination for move_to method <Robert Rothenberg>
-
  - 5e2cb26, d5c7e62 - Add Continuous Integration with Travis CI <Ken Williams>
-
  - d372be1 - Change bugtracker to github's <Ken Williams>
 
-
 0.33  Wed Dec 11 21:30:35 CST 2013
 
  - New copy_to() and move_to() methods. [Robert Rothenberg & Ken Williams]
-
  - As advised in the utime() docs, pass undef as the time for touch().
-
  - Do a better job cleaning up temp files in the tests.
-
  - Optimization: use parent.pm instead of base.pm. [Olivier Mengué]
-
  - Changed the docs to show that file() and dir() are exported by
    default.
-
  - Fixed spelling error in POD. [Salvatore Bonaccorso]
 
 0.32  Mon Mar 18 20:53:00 CDT 2013
 
  - Updated dependency on File::Spec to 3.26, fixing RT #83143.
-
  - Fixed bug with leading empty string in dir() - became unintentional
    UNC path on Cygwin. [David Golden and [email protected]]
-
  - Fixed "Unterminated C<...> sequence" in Pod. [Olaf Alders]
 
 0.31  Tue Feb  5 11:51:59 CST 2013
 
  - Optimization: stringify variables passed to canonpath [David Golden]
-
  - Optimization: Use internal guts when constructing Dirs from
    Dirs, instead of concatenating and splitting them again with
    File::Spec. [David Golden]
-
  - Fix grammar error in docs. [Karen Etheridge]
-
  - Implement a 'split' parameter for the slurp() method [suggested by Yanick 
Champoux]
-
  - In docs, replace unicode MINUS SIGN with ascii HYPHEN-MINUS [Randy Stauner]
 
 0.29  Mon Dec 17 23:55:07 CST 2012
 
  - Add components() method, which returns directory names (and
    filename, if this is a File object) as a list.
-
  - Fix a test failure on non-Unix platforms, the 07-recurseprune.t
    test was written in a Unix-specific way.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/LICENSE new/Path-Class-0.36/LICENSE
--- old/Path-Class-0.35/LICENSE 2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/LICENSE 2016-02-17 05:17:44.000000000 +0100
@@ -1,4 +1,4 @@
-This software is copyright (c) 2014 by Ken Williams.
+This software is copyright (c) 2016 by Ken Williams.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2014 by Ken Williams.
+This software is Copyright (c) 2016 by Ken Williams.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2014 by Ken Williams.
+This software is Copyright (c) 2016 by Ken Williams.
 
 This is free software, licensed under:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/META.yml new/Path-Class-0.36/META.yml
--- old/Path-Class-0.35/META.yml        2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/META.yml        2016-02-17 05:17:44.000000000 +0100
@@ -11,7 +11,7 @@
   ExtUtils::MakeMaker: 6.30
   Module::Build: 0.3601
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 
2.132830'
+generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 
2.150001'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -36,4 +36,4 @@
 resources:
   bugtracker: http://github.com/kenahoo/Path-Class/issues
   repository: git://github.com/kenahoo/Path-Class.git
-version: 0.35
+version: 0.36
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/Makefile.PL 
new/Path-Class-0.36/Makefile.PL
--- old/Path-Class-0.35/Makefile.PL     2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/Makefile.PL     2016-02-17 05:17:44.000000000 +0100
@@ -44,7 +44,7 @@
     "Test::More" => 0,
     "warnings" => 0
   },
-  "VERSION" => "0.35",
+  "VERSION" => "0.36",
   "test" => {
     "TESTS" => "t/*.t"
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/README new/Path-Class-0.36/README
--- old/Path-Class-0.35/README  2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/README  2016-02-17 05:17:44.000000000 +0100
@@ -1,11 +1,11 @@
 
 
 This archive contains the distribution Path-Class,
-version 0.35:
+version 0.36:
 
   Cross-platform path specification manipulation
 
-This software is copyright (c) 2014 by Ken Williams.
+This software is copyright (c) 2016 by Ken Williams.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/SIGNATURE 
new/Path-Class-0.36/SIGNATURE
--- old/Path-Class-0.35/SIGNATURE       2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/SIGNATURE       2016-02-17 05:17:44.000000000 +0100
@@ -14,24 +14,24 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 251efa678f8a84675eac8d0584e757b472ed35d8 Build.PL
-SHA1 5ba036a7d7e871ca8903bd8806f0c7c69b513b34 Changes
+SHA1 bf80a75cfd93a681dfd2d935f71e8c6bb6e470d4 Build.PL
+SHA1 eb1f0bb5f9fc75e7ce65b6111c4e0ef67a22aebb Changes
 SHA1 771edd8859e502c500ae883cd9ebb7105c1b453d INSTALL
-SHA1 3435fed6ff44a424d628bb95c7f69b2f536cd892 LICENSE
+SHA1 ce667e1cc573310ddb6d33fbcb07b993ba0c1562 LICENSE
 SHA1 78bde2759290c5e4b12079578f187a024e11dd16 MANIFEST
-SHA1 aaa3716276ccd7841e2d5511aa6af878250fe4b3 META.yml
-SHA1 d159030591912fb61ee6bacb857aaacc94202080 Makefile.PL
-SHA1 914f9acd84676f28eabb708c68f31235675aa6e6 README
+SHA1 35e851fcd8e1dd680af149f441eb0f7cff9a4a24 META.yml
+SHA1 5da2ae34b6133646f462b1929368c25b90f8176a Makefile.PL
+SHA1 bcfa8c26de9e118f7f5ff8120cd30a572ee55879 README
 SHA1 767e92b9cc035fc40c62a7deda816efddd4c14f2 README.pod
 SHA1 18788b0ba358db9fe04c981452039f3bd62bcdb2 cpanfile
-SHA1 b59d7dbc33a1ea679b47ac462be15558c5b788a0 dist.ini
-SHA1 e1c966a8eef1892574ca3f4e49d82bbb55ef7b1b lib/Path/Class.pm
-SHA1 0a47d807085c39b384a75ac6701168bac070b051 lib/Path/Class/Dir.pm
-SHA1 e3d51c703ac215b25409b75424e1e550cbabc061 lib/Path/Class/Entity.pm
-SHA1 6710252344b164ad91f2834832ee5c1d2dcab5e8 lib/Path/Class/File.pm
-SHA1 1984dc68cf6d60e09510af962e56f63c42c0b706 t/01-basic.t
+SHA1 1255cb0cd40faf2f25bbefdcee2edca2165a765e dist.ini
+SHA1 f1b2969ba99ce3ca742bbb2265f9b798574dbe1d lib/Path/Class.pm
+SHA1 71249e5dd01edc158cb6459cbd72bf202cf9e6df lib/Path/Class/Dir.pm
+SHA1 b95919a3e61623ac90944f0c3ce367b01c6079fd lib/Path/Class/Entity.pm
+SHA1 889062840dfda272b8ee981353bdcef258ab8eea lib/Path/Class/File.pm
+SHA1 5c0a4c26886b9f5f8447970e8ef1f8de17c8a156 t/01-basic.t
 SHA1 2dc6abce3b4c4601fe22bce9b0d58cb9484bcd0f t/02-foreign.t
-SHA1 adc77bc8513166b9ee1ceca92497ec80de56670a t/03-filesystem.t
+SHA1 f4db2618b7012dd1cbaf5cd4d5a7b3886624b972 t/03-filesystem.t
 SHA1 d18a55c06da766987268ad541578a03a17ecee41 t/04-subclass.t
 SHA1 a154070d2cb1369f6cebf4228742edea39c43c63 t/05-traverse.t
 SHA1 c71c41e78012d9577c47aa71b6d962e2c70d0e0e t/06-traverse_filt.t
@@ -41,7 +41,7 @@
 Version: GnuPG v1
 Comment: GPGTools - http://gpgtools.org
 
-iEYEARECAAYFAlQWT6QACgkQgrvMBLfvlHYujgCfc5Uujo7Qqrkp0WF9rJJF68/D
-v7IAoOVeREvngdENutm3UbM/7LsHiYPC
-=ebAU
+iEYEARECAAYFAlbD9GUACgkQgrvMBLfvlHZHMQCg4nFNYUoIhc4b4iXfoUN2TzVD
+vHcAn1ZFOllOZvqBKd+uxtNUoaz+cOSX
+=NI6c
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/dist.ini new/Path-Class-0.36/dist.ini
--- old/Path-Class-0.35/dist.ini        2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/dist.ini        2016-02-17 05:17:44.000000000 +0100
@@ -1,5 +1,5 @@
 name    = Path-Class
-version = 0.35
+version = 0.36
 author  = Ken Williams <[email protected]>
 license = Perl_5
 copyright_holder = Ken Williams
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/lib/Path/Class/Dir.pm 
new/Path-Class-0.36/lib/Path/Class/Dir.pm
--- old/Path-Class-0.35/lib/Path/Class/Dir.pm   2014-09-15 04:32:09.000000000 
+0200
+++ new/Path-Class-0.36/lib/Path/Class/Dir.pm   2016-02-17 05:17:44.000000000 
+0100
@@ -2,7 +2,7 @@
 
 package Path::Class::Dir;
 {
-  $Path::Class::Dir::VERSION = '0.35';
+  $Path::Class::Dir::VERSION = '0.36';
 }
 
 use Path::Class::File;
@@ -31,7 +31,7 @@
   my $s = $self->_spec;
   
   my $first = (@_ == 0     ? $s->curdir :
-              $_[0] eq '' ? (shift, $s->rootdir) :
+              !ref($_[0]) && $_[0] eq '' ? (shift, $s->rootdir) :
               shift()
              );
   
@@ -48,7 +48,7 @@
   push @{$self->{dirs}}, map {
     Scalar::Util::blessed($_) && $_->isa("Path::Class::Dir")
       ? @{$_->{dirs}}
-      : $s->splitdir($_)
+      : $s->splitdir( $s->canonpath($_) )
   } @_;
 
 
@@ -270,12 +270,13 @@
 }
 
 sub subsumes {
+  Carp::croak "Too many arguments given to subsumes()" if $#_ > 2;
   my ($self, $other) = @_;
-  die "No second entity given to subsumes()" unless $other;
-  
-  $other = $self->new($other) unless UNIVERSAL::isa($other, 
"Path::Class::Entity");
+  Carp::croak( "No second entity given to subsumes()" ) unless $other;
+
+  $other = $self->new($other) unless eval{$other->isa( "Path::Class::Entity")} 
;
   $other = $other->dir unless $other->is_dir;
-  
+
   if ($self->is_absolute) {
     $other = $other->absolute;
   } elsif ($other->is_absolute) {
@@ -285,14 +286,19 @@
   $self = $self->cleanup;
   $other = $other->cleanup;
 
-  if ($self->volume) {
+  if ($self->volume || $other->volume) {
     return 0 unless $other->volume eq $self->volume;
   }
 
   # The root dir subsumes everything (but ignore the volume because
   # we've already checked that)
   return 1 if "@{$self->{dirs}}" eq "@{$self->new('')->{dirs}}";
-  
+
+  # The current dir subsumes every relative path (unless starting with updir)
+  if ($self eq $self->_spec->curdir) {
+    return $other->{dirs}[0] ne $self->_spec->updir;
+  }
+
   my $i = 0;
   while ($i <= $#{ $self->{dirs} }) {
     return 0 if $i > $#{ $other->{dirs} };
@@ -303,8 +309,14 @@
 }
 
 sub contains {
+  Carp::croak "Too many arguments given to contains()" if $#_ > 2;
   my ($self, $other) = @_;
-  return !!(-d $self and (-e $other or -l $other) and $self->subsumes($other));
+  Carp::croak "No second entity given to contains()" unless $other;
+  return unless -d $self and (-e $other or -l $other);
+
+  $other = $self->new($other) unless eval{$other->isa("Path::Class::Entity")};
+  $other->resolve;
+  return $self->subsumes($other);
 }
 
 sub tempfile {
@@ -321,7 +333,7 @@
 
 =head1 VERSION
 
-version 0.35
+version 0.36
 
 =head1 SYNOPSIS
 
@@ -631,7 +643,7 @@
 
 =item $dir->components
 
-Identical to c<dir_list()>.  It exists because there's an analogous
+Identical to C<dir_list()>.  It exists because there's an analogous
 method C<dir_list()> in the C<Path::Class::File> class that also
 returns the basename string, so this method lets someone call
 C<components()> without caring whether the object is a file or a
@@ -796,7 +808,7 @@
 
 C<callback> is normally not required to return any value. If it
 returns special constant C<Path::Class::Entity::PRUNE()> (more easily
-available as C<$item->PRUNE>),  no children of analyzed
+available as C<< $item->PRUNE >>),  no children of analyzed
 item will be analyzed (mostly as if you set C<$File::Find::prune=1>). Of course
 pruning is available only in C<preorder>, in postorder return value
 has no effect.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/lib/Path/Class/Entity.pm 
new/Path-Class-0.36/lib/Path/Class/Entity.pm
--- old/Path-Class-0.35/lib/Path/Class/Entity.pm        2014-09-15 
04:32:09.000000000 +0200
+++ new/Path-Class-0.36/lib/Path/Class/Entity.pm        2016-02-17 
05:17:44.000000000 +0100
@@ -2,7 +2,7 @@
 
 package Path::Class::Entity;
 {
-  $Path::Class::Entity::VERSION = '0.35';
+  $Path::Class::Entity::VERSION = '0.36';
 }
 
 use File::Spec 3.26;
@@ -99,7 +99,7 @@
 
 =head1 VERSION
 
-version 0.35
+version 0.36
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/lib/Path/Class/File.pm 
new/Path-Class-0.36/lib/Path/Class/File.pm
--- old/Path-Class-0.35/lib/Path/Class/File.pm  2014-09-15 04:32:09.000000000 
+0200
+++ new/Path-Class-0.36/lib/Path/Class/File.pm  2016-02-17 05:17:44.000000000 
+0100
@@ -2,7 +2,7 @@
 
 package Path::Class::File;
 {
-  $Path::Class::File::VERSION = '0.35';
+  $Path::Class::File::VERSION = '0.36';
 }
 
 use Path::Class::Dir;
@@ -10,8 +10,6 @@
 use Carp;
 
 use IO::File ();
-use Perl::OSType ();
-use File::Copy ();
 
 sub new {
   my $self = shift->SUPER::new;
@@ -62,7 +60,7 @@
 
 sub components {
   my $self = shift;
-  die "Arguments are not currently supported by File->components()" if @_;
+  croak "Arguments are not currently supported by File->components()" if @_;
   return ($self->dir->components, $self->basename);
 }
 
@@ -123,13 +121,18 @@
     if (ref($_[0]) eq 'ARRAY') {
         # Use old-school for loop to avoid copying.
         for (my $i = 0; $i < @{ $_[0] }; $i++) {
-            print $fh $_[0]->[$i];
+            print $fh $_[0]->[$i]
+                or croak "Can't write to $self: $!";
         }
     }
     else {
-        print $fh $_[0];
+        print $fh $_[0]
+            or croak "Can't write to $self: $!";
     }
 
+    close $fh
+        or croak "Can't write to $self: $!";
+
     return;
 }
 
@@ -159,19 +162,21 @@
 
 sub copy_to {
   my ($self, $dest) = @_;
-  if ( UNIVERSAL::isa($dest, Path::Class::File::) ) {
+  if ( eval{ $dest->isa("Path::Class::File")} ) { 
     $dest = $dest->stringify;
-    die "Can't copy to file $dest: it is a directory" if -d $dest;
-  } elsif ( UNIVERSAL::isa($dest, Path::Class::Dir::) ) {
+    croak "Can't copy to file $dest: it is a directory" if -d $dest;
+  } elsif ( eval{ $dest->isa("Path::Class::Dir") } ) {
     $dest = $dest->stringify;
-    die "Can't copy to directory $dest: it is a file" if -f $dest;
-    die "Can't copy to directory $dest: no such directory" unless -d $dest;
+    croak "Can't copy to directory $dest: it is a file" if -f $dest;
+    croak "Can't copy to directory $dest: no such directory" unless -d $dest;
   } elsif ( ref $dest ) {
-    die "Don't know how to copy files to objects of type '".ref($self)."'";
+    croak "Don't know how to copy files to objects of type '".ref($self)."'";
   }
 
+  require Perl::OSType;
   if ( !Perl::OSType::is_os_type('Unix') ) {
 
+      require File::Copy;
       return unless File::Copy::cp($self->stringify, "${dest}");
 
   } else {
@@ -185,6 +190,7 @@
 
 sub move_to {
   my ($self, $dest) = @_;
+  require File::Copy;
   if (File::Copy::move($self->stringify, "${dest}")) {
 
       my $new = $self->new($dest);
@@ -221,7 +227,7 @@
 
 =head1 VERSION
 
-version 0.35
+version 0.36
 
 =head1 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/lib/Path/Class.pm 
new/Path-Class-0.36/lib/Path/Class.pm
--- old/Path-Class-0.35/lib/Path/Class.pm       2014-09-15 04:32:09.000000000 
+0200
+++ new/Path-Class-0.36/lib/Path/Class.pm       2016-02-17 05:17:44.000000000 
+0100
@@ -2,7 +2,7 @@
 
 package Path::Class;
 {
-  $Path::Class::VERSION = '0.35';
+  $Path::Class::VERSION = '0.36';
 }
 
 {
@@ -34,7 +34,7 @@
 
 =head1 VERSION
 
-version 0.35
+version 0.36
 
 =head1 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/t/01-basic.t 
new/Path-Class-0.36/t/01-basic.t
--- old/Path-Class-0.35/t/01-basic.t    2014-09-15 04:32:09.000000000 +0200
+++ new/Path-Class-0.36/t/01-basic.t    2016-02-17 05:17:44.000000000 +0100
@@ -7,7 +7,7 @@
 use Path::Class;
 use Cwd;
 
-plan tests => 70;
+plan tests => 78;
 ok(1);
 
 my $file1 = Path::Class::File->new('foo.txt');
@@ -22,6 +22,13 @@
 ok $file2->dir, 'dir';
 ok $file2->basename, 'bar.txt';
 
+my $file3 = file('dir', 'foo/bar.txt');
+ok $file3, 'dir/foo/bar.txt';
+ok $file3->is_absolute, '';
+ok $file3->dir, 'dir/foo';
+ok $file3->dir->parent, 'dir';
+ok $file3->basename, 'bar.txt';
+
 my $dir = dir('tmp');
 ok $dir, 'tmp';
 ok $dir->is_absolute, '';
@@ -31,6 +38,11 @@
 ok $dir2, '/tmp';
 ok $dir2->is_absolute, 1;
 
+my $dir3 = dir('/tmp', 'foo/');
+ok $dir3, '/tmp/foo';
+ok $dir3->parent, '/tmp';
+ok $dir3->is_absolute, 1;
+
 my $cat = file($dir, 'foo');
 ok $cat, 'tmp/foo';
 $cat = $dir->file('foo');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Path-Class-0.35/t/03-filesystem.t 
new/Path-Class-0.36/t/03-filesystem.t
--- old/Path-Class-0.35/t/03-filesystem.t       2014-09-15 04:32:09.000000000 
+0200
+++ new/Path-Class-0.36/t/03-filesystem.t       2016-02-17 05:17:44.000000000 
+0100
@@ -2,8 +2,6 @@
 use Test::More;
 use File::Temp qw(tmpnam tempdir);
 
-plan tests => 103;
-
 use_ok 'Path::Class';
 
 
@@ -228,6 +226,22 @@
   ok  $t->contains($foo_bar), "t now contains t/foo/bar";
 
   $t->subdir('foo')->rmtree;
+
+  my $cur = dir();
+  ok  $cur->subsumes(dir("foo"));
+  ok  $cur->subsumes(dir("foo", "..", "bar"));
+  ok !$cur->subsumes("..");
+}
+
+{
+  # Some edge cases with updir
+  my $c = dir();
+  ok  $c->contains(dir());
+  ok  $c->contains(dir("t"));
+  ok !$c->contains(dir(".."));
+  ok !$c->contains(dir("t", "..", "foo"));
+  ok  $c->contains(dir("t", ".."));
+  ok !$c->contains(dir("t", "..", ".."));
 }
 
 {
@@ -370,3 +384,5 @@
   $file2->remove;
   ok( ! -e $_, "$_ should be gone") for ($file1, $file2);
 }
+
+done_testing();

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#description: |-
#  override description from CPAN
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

Reply via email to