Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Mac-PropertyList for
openSUSE:Factory checked in at 2024-07-29 21:53:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mac-PropertyList (Old)
and /work/SRC/openSUSE:Factory/.perl-Mac-PropertyList.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mac-PropertyList"
Mon Jul 29 21:53:36 2024 rev:22 rq:1190270 version:1.601.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Mac-PropertyList/perl-Mac-PropertyList.changes
2022-07-14 16:34:36.156647011 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Mac-PropertyList.new.1882/perl-Mac-PropertyList.changes
2024-07-29 21:54:48.442598409 +0200
@@ -1,0 +2,18 @@
+Sat Jul 27 05:29:09 UTC 2024 - Tina Müller <[email protected]>
+
+- updated to 1.601.0 (1.601)
+ see /usr/share/doc/packages/perl-Mac-PropertyList/Changes
+
+ 1.601 2024-07-27T00:58:50Z
+ * changed default DTD header to use "Apple" instead of "Apple Computer"
+ to match what XCode has been doing (Apple changed it's name in 2007).
+ (GitHub #27).
+
+ 1.505 2024-07-14T17:52:31Z
+ * Don't read binary files in text mode, which has problems on Windows
+ (from joz-k, GitHub #26)
+ * Fix problem with negative integers in WriteBinary. They should
+ always be longs.
+ * First release to use GitHub Attestations (see README.pod)
+
+-------------------------------------------------------------------
Old:
----
Mac-PropertyList-1.504.tar.gz
New:
----
Mac-PropertyList-1.601.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mac-PropertyList.spec ++++++
--- /var/tmp/diff_new_pack.ToN2sG/_old 2024-07-29 21:54:48.866615581 +0200
+++ /var/tmp/diff_new_pack.ToN2sG/_new 2024-07-29 21:54:48.870615742 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mac-PropertyList
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,14 @@
%define cpan_name Mac-PropertyList
Name: perl-Mac-PropertyList
-Version: 1.504
+Version: 1.601.0
Release: 0
+# 1.601 -> normalize -> 1.601.0
+%define cpan_version 1.601
License: Artistic-2.0
Summary: Work with Mac plists at a low level
URL: https://metacpan.org/release/%{cpan_name}
-Source0:
https://cpan.metacpan.org/authors/id/B/BD/BDFOY/%{cpan_name}-%{version}.tar.gz
+Source0:
https://cpan.metacpan.org/authors/id/B/BR/BRIANDFOY/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
@@ -34,6 +36,28 @@
BuildRequires: perl(parent)
Requires: perl(XML::Entities)
Requires: perl(parent)
+Provides: perl(Mac::PropertyList) = %{version}
+Provides: perl(Mac::PropertyList::Boolean)
+Provides: perl(Mac::PropertyList::Container)
+Provides: perl(Mac::PropertyList::Item)
+Provides: perl(Mac::PropertyList::LineListSource)
+Provides: perl(Mac::PropertyList::ReadBinary) = 1.505.0
+Provides: perl(Mac::PropertyList::Scalar)
+Provides: perl(Mac::PropertyList::Source)
+Provides: perl(Mac::PropertyList::TextSource)
+Provides: perl(Mac::PropertyList::WriteBinary) = 1.505.0
+Provides: perl(Mac::PropertyList::array)
+Provides: perl(Mac::PropertyList::data)
+Provides: perl(Mac::PropertyList::date)
+Provides: perl(Mac::PropertyList::dict)
+Provides: perl(Mac::PropertyList::false)
+Provides: perl(Mac::PropertyList::integer)
+Provides: perl(Mac::PropertyList::real)
+Provides: perl(Mac::PropertyList::string)
+Provides: perl(Mac::PropertyList::true)
+Provides: perl(Mac::PropertyList::uid)
+Provides: perl(Mac::PropertyList::ustring)
+%undefine __perllib_provides
%{perl_requires}
%description
@@ -58,7 +82,7 @@
request).
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
++++++ Mac-PropertyList-1.504.tar.gz -> Mac-PropertyList-1.601.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/CITATION.cff
new/Mac-PropertyList-1.601/CITATION.cff
--- old/Mac-PropertyList-1.504/CITATION.cff 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/CITATION.cff 2024-07-27 03:00:29.000000000
+0200
@@ -4,7 +4,7 @@
abstract: Mac::PropertyList - work with Mac plists at a low level
authors:
- alias: briandfoy
- email: [email protected]
+ email: [email protected]
family-names: foy
given-names: brian d
orcid: 0000-0002-0283-8283
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/Changes
new/Mac-PropertyList-1.601/Changes
--- old/Mac-PropertyList-1.504/Changes 2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/Changes 2024-07-27 03:00:29.000000000 +0200
@@ -1,5 +1,17 @@
Revision history for Perl module Mac::PropertyList
+1.601 2024-07-27T00:58:50Z
+ * changed default DTD header to use "Apple" instead of "Apple Computer"
+ to match what XCode has been doing (Apple changed it's name in 2007).
+ (GitHub #27).
+
+1.505 2024-07-14T17:52:31Z
+ * Don't read binary files in text mode, which has problems on Windows
+ (from joz-k, GitHub #26)
+ * Fix problem with negative integers in WriteBinary. They should
+ always be longs.
+ * First release to use GitHub Attestations (see README.pod)
+
1.504 2022-07-08T03:16:18Z
* @trwyant fixed some stray debugging output (#14 and #15)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/MANIFEST
new/Mac-PropertyList-1.601/MANIFEST
--- old/Mac-PropertyList-1.504/MANIFEST 2022-07-08 05:18:00.000000000 +0200
+++ new/Mac-PropertyList-1.601/MANIFEST 2024-07-27 03:00:30.000000000 +0200
@@ -2,6 +2,7 @@
CITATION.cff
DTDs/PropertyList-0.9.dtd
DTDs/PropertyList-1.0.dtd
+examples/binary_to_perl.pl
examples/convert_to_perl.pl
examples/plist-visitor.pl
examples/README
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/MANIFEST.SKIP
new/Mac-PropertyList-1.601/MANIFEST.SKIP
--- old/Mac-PropertyList-1.504/MANIFEST.SKIP 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/MANIFEST.SKIP 2024-07-27 03:00:29.000000000
+0200
@@ -73,3 +73,5 @@
\.icloud$
\A\.github\b
+\.gitattributes\b
+\Ascratch\b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/META.json
new/Mac-PropertyList-1.601/META.json
--- old/Mac-PropertyList-1.504/META.json 2022-07-08 05:18:00.000000000
+0200
+++ new/Mac-PropertyList-1.601/META.json 2024-07-27 03:00:30.000000000
+0200
@@ -1,10 +1,10 @@
{
"abstract" : "work with Mac plists at a low level",
"author" : [
- "brian d foy <[email protected]>"
+ "brian d foy <[email protected]>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter
version 2.150010",
"license" : [
"artistic_2"
],
@@ -54,10 +54,10 @@
"homepage" : "https://github.com/briandfoy/mac-propertylist",
"repository" : {
"type" : "git",
- "url" : "https://github.com/briandfoy/mac-propertylist.git",
+ "url" : "https://github.com/briandfoy/mac-propertylist",
"web" : "https://github.com/briandfoy/mac-propertylist"
}
},
- "version" : "1.504",
- "x_serialization_backend" : "JSON::PP version 4.07"
+ "version" : "1.601",
+ "x_serialization_backend" : "JSON::PP version 4.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/META.yml
new/Mac-PropertyList-1.601/META.yml
--- old/Mac-PropertyList-1.504/META.yml 2022-07-08 05:18:00.000000000 +0200
+++ new/Mac-PropertyList-1.601/META.yml 2024-07-27 03:00:29.000000000 +0200
@@ -1,14 +1,14 @@
---
abstract: 'work with Mac plists at a low level'
author:
- - 'brian d foy <[email protected]>'
+ - 'brian d foy <[email protected]>'
build_requires:
Test::More: '1'
configure_requires:
ExtUtils::MakeMaker: '6.64'
File::Spec::Functions: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version
2.150010'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -29,6 +29,6 @@
resources:
bugtracker: https://github.com/briandfoy/mac-propertylist/issues
homepage: https://github.com/briandfoy/mac-propertylist
- repository: https://github.com/briandfoy/mac-propertylist.git
-version: '1.504'
+ repository: https://github.com/briandfoy/mac-propertylist
+version: '1.601'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/Makefile.PL
new/Mac-PropertyList-1.601/Makefile.PL
--- old/Mac-PropertyList-1.504/Makefile.PL 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/Makefile.PL 2024-07-27 03:00:29.000000000
+0200
@@ -50,7 +50,7 @@
'ABSTRACT_FROM' => $main_file,
'VERSION_FROM' => $main_file,
'LICENSE' => 'artistic_2',
- 'AUTHOR' => 'brian d foy <[email protected]>',
+ 'AUTHOR' => 'brian d foy <[email protected]>',
'CONFIGURE_REQUIRES' => {
'ExtUtils::MakeMaker' => '6.64',
@@ -78,7 +78,7 @@
resources => {
repository => {
type => 'git',
- url => "$github.git",
+ url => $github,
web => $github,
},
bugtracker => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/README.pod
new/Mac-PropertyList-1.601/README.pod
--- old/Mac-PropertyList-1.504/README.pod 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/README.pod 2024-07-27 03:00:29.000000000
+0200
@@ -74,22 +74,22 @@
The meta data, such as the source repository and bug tracker, is in
I<Makefile.PL> or the I<META.*> files it creates. You can find that on
those CPAN web interfaces, but you can also look at files directly in
-the source repository:
-
-=over 4
-
-=item * L<https://github.com/briandfoy/mac-propertylist>
-
-=back
+the source repository: L<https://github.com/briandfoy/mac-propertylist>
If you find a problem, file a ticket in the L<issue
-tracker|https://github.com/briandfoy/mac-propertylist/issues>:
-
-=over 4
-
-=item * L<https://github.com/briandfoy/mac-propertylist/issues>
+tracker|https://github.com/briandfoy/mac-propertylist/issues>.
-=back
+Starting with v1.505, Mac::PropertyList now uses
+L<GitHub
Attestations|https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>,
+which allow you to verify that the archive file you have was made from
+the official repo.
+
+You need a GitHub account and the L<gh tool|https://github.com/larsks/ghcli>.
+
+ # download the distro file from GitHub, MetaCPAN, or a CPAN mirror
+ $ gh auth login
+ ...follow instructions...
+ $ gh attestation verify Mac-PropertyList-1.505.tar.gz --owner briandfoy
=head2 Getting help
@@ -116,6 +116,6 @@
Enjoy,
-brian d foy, [email protected]
+brian d foy, [email protected]
=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/examples/binary_to_perl.pl
new/Mac-PropertyList-1.601/examples/binary_to_perl.pl
--- old/Mac-PropertyList-1.504/examples/binary_to_perl.pl 1970-01-01
01:00:00.000000000 +0100
+++ new/Mac-PropertyList-1.601/examples/binary_to_perl.pl 2024-07-27
03:00:29.000000000 +0200
@@ -0,0 +1,18 @@
+#!/usr/local/bin/perl
+use warnings;
+use strict;
+use v5.10;
+
+use Data::Dumper;
+use Mac::PropertyList qw(parse_plist_file);
+
+use Mac::PropertyList;
+
+my $data = do {
+ open my $fh, '<:raw', $ARGV[0];
+ sysread $fh, my $rec, -s $fh;
+ };
+
+my $plist = parse_plist_file( $ARGV[0] );
+
+say Dumper( $plist );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/examples/convert_to_perl.pl
new/Mac-PropertyList-1.601/examples/convert_to_perl.pl
--- old/Mac-PropertyList-1.504/examples/convert_to_perl.pl 2022-07-08
05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/examples/convert_to_perl.pl 2024-07-27
03:00:29.000000000 +0200
@@ -4,8 +4,6 @@
use Data::Dumper;
use Mac::PropertyList qw(parse_plist);
-use JSON::Any;
-use Storable qw(dclone);
my $data = do { local $/; <DATA> };
my $plist = parse_plist( $data );
@@ -25,11 +23,11 @@
print Dumper( $ds );
-BEGIN {
- package Mac::PropertyList::dict;
-
+BEGIN {
+ package Mac::PropertyList::dict;
+
use overload
- '""' => sub {
+ '""' => sub {
my $s = "{\n";
foreach my $key ( $_[0]->keys )
{
@@ -39,11 +37,11 @@
$s .= "\t}";
$s;
};
-
- package Mac::PropertyList::array;
-
+
+ package Mac::PropertyList::array;
+
use overload
- '""' => sub {
+ '""' => sub {
my $s = "[\n";
foreach my $value ( $_[0]->value )
{
@@ -53,13 +51,13 @@
$s;
};
- package Mac::PropertyList::Scalar;
-
+ package Mac::PropertyList::Scalar;
+
use overload
- '""' => sub {
+ '""' => sub {
"'" . $_[0]->value . "'";
};
-
+
}
__END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mac-PropertyList-1.504/lib/Mac/PropertyList/ReadBinary.pm
new/Mac-PropertyList-1.601/lib/Mac/PropertyList/ReadBinary.pm
--- old/Mac-PropertyList-1.504/lib/Mac/PropertyList/ReadBinary.pm
2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/lib/Mac/PropertyList/ReadBinary.pm
2024-07-27 03:00:29.000000000 +0200
@@ -9,11 +9,9 @@
use Encode qw(decode);
use Mac::PropertyList;
use Math::BigInt;
-use MIME::Base64 qw(decode_base64);
use POSIX qw(SEEK_END SEEK_SET);
-use XML::Entities ();
-our $VERSION = '1.504';
+our $VERSION = '1.505';
my $Debug = $ENV{PLIST_DEBUG} || 0;
@@ -140,6 +138,8 @@
@hash{ qw( offset_size ref_size object_count top_object table_offset ) }
= unpack "x6 C C (x4 N)3", $buffer;
+ print Dumper( \%hash );
+
$self->{trailer} = \%hash;
}
@@ -167,8 +167,6 @@
sub _read_object_at_offset {
my( $self, $offset ) = @_;
- my @caller = caller(1);
-
seek $self->_fh, ${ $self->_offsets }[$offset], SEEK_SET;
$self->_read_object;
@@ -199,19 +197,19 @@
},
1 => sub { # integers
- my( $self, $power2 ) = @_;
+ my( $self, $power_of_2 ) = @_;
- croak "Integer with <$power2> bytes is not supported" if
$power2 > 3;
+ croak "Integer with <$power_of_2> bytes is not supported" if
$power_of_2 > 4;
- my $byte_length = 1 << $power2;
+ my $byte_length = 1 << $power_of_2;
my( $buffer, $value );
read $self->_fh, $buffer, $byte_length;
my @formats = qw( C n N NN NNNN );
- my @values = unpack $formats[$power2], $buffer;
+ my @values = unpack $formats[$power_of_2], $buffer;
- if( $power2 == 3 ) {
+ if( $power_of_2 == 3 ) { # 64 bits
my( $high, $low ) = @values;
my $b = Math::BigInt->new($high)->blsft(32)->bior($low);
@@ -221,7 +219,9 @@
@values = ( $b );
}
- elsif( $power2 == 4 ) {
+ elsif( $power_of_2 == 4 ) { # 128 bits
+ # 128 bits aren't part of the public API, but apparently
+ # they are out there.
my( $highest, $higher, $high, $low ) = @values;
my $b = Math::BigInt
->new($highest)
@@ -368,25 +368,21 @@
sub _read_object {
my $self = shift;
- say "Reading object!" if $Debug;
my $buffer;
- say "\tTELL: ", tell( $self->_fh ) if $Debug;
+
croak "read() failed while trying to get type byte! $!"
unless read( $self->_fh, $buffer, 1) == 1;
my $length = unpack( "C*", $buffer ) & 0x0F;
- say "\tlength is $length" if $Debug;
$buffer = unpack "H*", $buffer;
- say "\t", join '', map { sprintf '%02x', ord } split //, $buffer if $Debug;
my $type = substr $buffer, 0, 1;
- say "\ttype is $type" if $Debug;
$length = $self->_read_object->value if $type ne "0" && $length == 15;
my $sub = $type_readers->{ $type };
my $result = eval { $sub->( $self, $length ) };
croak "$@" if $@;
- say "RESULT: ", Dumper($result) if $Debug;
+
return $result;
}
@@ -410,13 +406,13 @@
=head1 AUTHOR
-brian d foy, C<< <[email protected]> >>
+brian d foy, C<< <[email protected]> >>
Tom Wyant added support for UID types.
=head1 COPYRIGHT AND LICENSE
-Copyright © 2004-2021, brian d foy <[email protected]>. All rights reserved.
+Copyright © 2004-2024, brian d foy <[email protected]>. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License 2.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mac-PropertyList-1.504/lib/Mac/PropertyList/WriteBinary.pm
new/Mac-PropertyList-1.601/lib/Mac/PropertyList/WriteBinary.pm
--- old/Mac-PropertyList-1.504/lib/Mac/PropertyList/WriteBinary.pm
2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/lib/Mac/PropertyList/WriteBinary.pm
2024-07-27 03:00:29.000000000 +0200
@@ -102,7 +102,7 @@
havePack64 => ( eval { pack('Q>', 1153202979583557643) eq
"\x10\x01\0\0\0\0\0\x0B" } ? 1 : 0 ),
};
-our $VERSION = '1.504';
+our $VERSION = '1.505';
our @EXPORT_OK = qw( as_string );
sub as_string {
@@ -308,6 +308,11 @@
}
}
+sub _neg_integer {
+ my($count) = @_;
+ return pack('Cq>', tagInteger + 3, $count);
+}
+
sub _pos_integer {
my($count) = @_;
@@ -396,15 +401,9 @@
# Therefore all negative numbers must be written as 8-byte
# integers.
- if ($value < 0) {
- if (Mac::PropertyList::WriteBinary::havePack64) {
- return pack('Cq>', tagInteger + 3, $value);
- } else {
- return pack('CSSl>', tagInteger + 3, 65535, 65535, $value);
- }
- } else {
- return Mac::PropertyList::WriteBinary::_pos_integer($value);
- }
+ my $method = $value < 0 ? '_neg_integer' : '_pos_integer';
+ my $sub = Mac::PropertyList::WriteBinary->can($method);
+ $sub->($value);
}
package Mac::PropertyList::uid;
@@ -454,7 +453,7 @@
Wim Lewis, C<< <[email protected]> >>
-Copyright © 2012-2021 Wim Lewis. All rights reserved.
+Copyright © 2012-2024 Wim Lewis. All rights reserved.
Tom Wyant added support for UID types.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/lib/Mac/PropertyList.pm
new/Mac-PropertyList-1.601/lib/Mac/PropertyList.pm
--- old/Mac-PropertyList-1.504/lib/Mac/PropertyList.pm 2022-07-08
05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/lib/Mac/PropertyList.pm 2024-07-27
03:00:29.000000000 +0200
@@ -27,7 +27,7 @@
'all' => \@EXPORT_OK,
);
-our $VERSION = '1.504';
+our $VERSION = '1.601';
=encoding utf8
@@ -265,7 +265,7 @@
return;
}
- my $text = do { local $/; open my($fh), $file; <$fh> };
+ my $text = do { local $/; open my($fh), '<:raw', $file; <$fh> };
parse_plist( $text );
}
@@ -541,7 +541,7 @@
sub XML_head () {
<<"XML";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
XML
}
@@ -1019,13 +1019,13 @@
=head1 AUTHOR
-brian d foy, C<< <[email protected]> >>
+brian d foy, C<< <[email protected]> >>
Tom Wyant added support for UID types.
=head1 COPYRIGHT AND LICENSE
-Copyright © 2004-2021, brian d foy <[email protected]>. All rights reserved.
+Copyright © 2004-2024, brian d foy <[email protected]>. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License 2.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/array.t
new/Mac-PropertyList-1.601/t/array.t
--- old/Mac-PropertyList-1.504/t/array.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/array.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -41,7 +41,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -66,7 +66,7 @@
my $array =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Mimi</string>
@@ -88,7 +88,7 @@
note 'Try non-canonical layout';
$plist = &{$parse_fqname}( <<"HERE" );
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array><string>Athos</string><string>Porthos</string><string>Aramis</string></array>
</plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/as_perl.t
new/Mac-PropertyList-1.601/t/as_perl.t
--- old/Mac-PropertyList-1.504/t/as_perl.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/as_perl.t 2024-07-27 03:00:29.000000000
+0200
@@ -28,7 +28,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -36,7 +36,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/bad_plist.t
new/Mac-PropertyList-1.601/t/bad_plist.t
--- old/Mac-PropertyList-1.504/t/bad_plist.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/bad_plist.t 2024-07-27 03:00:29.000000000
+0200
@@ -28,7 +28,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -44,7 +44,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/basic_types.t
new/Mac-PropertyList-1.601/t/basic_types.t
--- old/Mac-PropertyList-1.504/t/basic_types.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/basic_types.t 2024-07-27 03:00:29.000000000
+0200
@@ -28,7 +28,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -46,7 +46,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -62,7 +62,7 @@
my $array = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Green</string>
@@ -79,7 +79,7 @@
my $dict = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Bananas</key>
@@ -100,7 +100,7 @@
my $nested_array = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Green</string>
@@ -121,7 +121,7 @@
my $nested_dict = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Bananas</key>
@@ -150,7 +150,7 @@
my $scalar = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<real>59</real>
</plist>
@@ -164,7 +164,7 @@
my $string = <<'HERE';
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string>A
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/container.t
new/Mac-PropertyList-1.601/t/container.t
--- old/Mac-PropertyList-1.504/t/container.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/container.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/decode_entities.t
new/Mac-PropertyList-1.601/t/decode_entities.t
--- old/Mac-PropertyList-1.504/t/decode_entities.t 2022-07-08
05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/decode_entities.t 2024-07-27
03:00:29.000000000 +0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -49,7 +49,7 @@
my $array =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Mimi & Buster</string>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/dict.t
new/Mac-PropertyList-1.601/t/dict.t
--- old/Mac-PropertyList-1.504/t/dict.t 2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/dict.t 2024-07-27 03:00:29.000000000 +0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -41,7 +41,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -67,7 +67,7 @@
########################################################################
my $dict =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Mimi</key>
@@ -105,7 +105,7 @@
$plist = &{$parse_fqname}( <<"HERE" );
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Clayton</key><string>John</string><key>Napier</key><string>Carson</string><key>Gridley</key><string>Jason</string></dict>
</plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/false_key.t
new/Mac-PropertyList-1.601/t/false_key.t
--- old/Mac-PropertyList-1.504/t/false_key.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/false_key.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -41,7 +41,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -57,7 +57,7 @@
my $good_dict =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>0</key>
@@ -70,7 +70,7 @@
my $bad_dict =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key></key>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/get_filehandle.t
new/Mac-PropertyList-1.601/t/get_filehandle.t
--- old/Mac-PropertyList-1.504/t/get_filehandle.t 2022-07-08
05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/get_filehandle.t 2024-07-27
03:00:29.000000000 +0200
@@ -28,7 +28,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -36,7 +36,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/import.t
new/Mac-PropertyList-1.601/t/import.t
--- old/Mac-PropertyList-1.504/t/import.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/import.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/load.t
new/Mac-PropertyList-1.601/t/load.t
--- old/Mac-PropertyList-1.504/t/load.t 2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/load.t 2024-07-27 03:00:29.000000000 +0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/parse.t
new/Mac-PropertyList-1.601/t/parse.t
--- old/Mac-PropertyList-1.504/t/parse.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/parse.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -43,7 +43,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -53,58 +53,57 @@
=cut
my $class = 'Mac::PropertyList';
-use_ok( $class ) or BAIL_OUT( "$class did not compile\n" );
+my $method = 'parse_plist';
+my $method_ref;
+subtest sanity => sub {
+ use_ok( $class ) or BAIL_OUT( "$class did not compile\n" );
+ can_ok $class, $method;
+ $method_ref = $class->can($method);
+};
-my $array =<<"HERE";
+my $old_template = <<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
+%s
+</plist>
+HERE
+
+my $new_template = $old_template;
+$new_template =~ s/Apple Computer/Apple/;
+
+my %templates = (
+ 'Apple' => $new_template,
+ 'Apple Computer' => $old_template,
+ );
+
+my $array =<<"HERE";
<array>
<string>Mimi</string>
<string>Roscoe</string>
</array>
-</plist>
HERE
my $dict =<<"HERE";
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
<dict>
<key>Mimi</key>
<string>Roscoe</string>
</dict>
-</plist>
HERE
my $string1_0 =<<"HERE";
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
<string>This is it</string>
-</plist>
HERE
my $string0_9 =<<"HERE";
-<?xml version="0.9" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
<string>This is it</string>
-</plist>
HERE
my $empty_string =<<"HERE";
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
<string/>
-</plist>
HERE
my $nested_dict =<<"HERE";
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
<dict>
<key>Mimi</key>
<dict>
@@ -114,11 +113,8 @@
<true/>
</dict>
</dict>
-</plist>
HERE
-########################################################################
-my $parse_fqname = $class . '::parse_plist';
my $array_shortname = 'array';
my $dict_shortname = 'dict';
@@ -128,63 +124,70 @@
my $dict_type = join '::', $class, $dict_shortname;
my $string_type = join '::', $class, $string_shortname;
-{
-my $plist = &{$parse_fqname}( $array );
-
-isa_ok( $plist, $array_type );
-is( $plist->type, $array_shortname, "Item is an $array_shortname type" );
-isa_ok( $plist->value, $array_type );
-
-my @elements = @{ $plist->value };
-isa_ok( $elements[0], $string_type );
-isa_ok( $elements[1], $string_type );
-is( $elements[0]->value, 'Mimi', "Mimi $string_shortname is right" );
-is( $elements[1]->value, 'Roscoe', "Roscoe $string_shortname is right" );
-}
-
-########################################################################
-{
-my $plist = &{$parse_fqname}( $dict );
-isa_ok( $plist, $dict_type );
-is( $plist->type, $dict_shortname, "item is a $dict_shortname type" );
-isa_ok( $plist->value, $dict_type );
-
-my $hash = $plist->value;
-ok( exists $hash->{Mimi}, 'Mimi key exists for dict' );
-isa_ok( $hash->{Mimi}, $string_type );
-is( $hash->{Mimi}->value, 'Roscoe', 'Mimi string has right value' );
-}
-
-########################################################################
-foreach my $string ( ( $string0_9, $string1_0 ) ) {
- my $plist = &{$parse_fqname}( $string );
-
- isa_ok( $plist, $string_type );
- is( $plist->type, $string_shortname, 'type key has right value for
string' );
- is( $plist->value, 'This is it', 'value is right for string' );
+foreach my $key ( sort keys %templates ) {
+ subtest $key => sub {
+ my $template = $templates{$key};
+
+ subtest 'array' => sub {
+ my $plist = $method_ref->( sprintf $template, $array );
+
+ isa_ok( $plist, $array_type );
+ is( $plist->type, $array_shortname, "Item is an
$array_shortname type" );
+ isa_ok( $plist->value, $array_type );
+
+ my @elements = @{ $plist->value };
+ isa_ok( $elements[0], $string_type );
+ isa_ok( $elements[1], $string_type );
+ is( $elements[0]->value, 'Mimi', "Mimi
$string_shortname is right" );
+ is( $elements[1]->value, 'Roscoe', "Roscoe
$string_shortname is right" );
+ };
+
+ subtest 'dict' => sub {
+ my $plist = $method_ref->( sprintf $template, $dict );
+ isa_ok( $plist, $dict_type );
+ is( $plist->type, $dict_shortname, "item is a
$dict_shortname type" );
+ isa_ok( $plist->value, $dict_type );
+
+ my $hash = $plist->value;
+ ok( exists $hash->{Mimi}, 'Mimi key exists for dict' );
+ isa_ok( $hash->{Mimi}, $string_type );
+ is( $hash->{Mimi}->value, 'Roscoe', 'Mimi string has
right value' );
+ };
+
+ subtest 'strings' => sub {
+ foreach my $string ( $string0_9, $string1_0 ) {
+ my $plist = $method_ref->( sprintf $template,
$string );
+
+ isa_ok( $plist, $string_type );
+ is( $plist->type, $string_shortname, 'type key
has right value for string' );
+ is( $plist->value, 'This is it', 'value is
right for string' );
+ }
+ };
+
+ subtest 'nested dict' => sub {
+ my $plist = $method_ref->( sprintf $template,
$nested_dict );
+
+ isa_ok( $plist, $dict_type );
+ is( $plist->type, $dict_shortname, 'type key has right
value for nested dict' );
+ isa_ok( $plist->value, 'HASH' );
+
+ my $hash = $plist->value->{Mimi};
+
+ isa_ok( $plist, $dict_type );
+ is( $plist->type, $dict_shortname, "item is a
$dict_shortname type" );
+ isa_ok( $plist->value, $dict_type );
+ is( $hash->value->{Roscoe}->value, 1, 'Roscoe string
has right value' );
+ is( $hash->value->{Boolean}->value, 'true', 'Boolean
string has right value' );
+ };
+
+ subtest 'empty string' => sub {
+ my $plist = $method_ref->( sprintf $template,
$empty_string );
+
+ isa_ok( $plist, $string_type );
+ is( $plist->type, $string_shortname, 'type key has
right value for string' );
+ is( $plist->value, '', 'value is right for string' );
+ };
+ };
}
-$plist = &{$parse_fqname}( $nested_dict );
-
-isa_ok( $plist, $dict_type );
-is( $plist->type, $dict_shortname, 'type key has right value for nested dict'
);
-isa_ok( $plist->value, 'HASH' );
-
-########################################################################
-my $hash = $plist->value->{Mimi};
-
-isa_ok( $plist, $dict_type );
-is( $plist->type, $dict_shortname, "item is a $dict_shortname type" );
-isa_ok( $plist->value, $dict_type );
-is( $hash->value->{Roscoe}->value, 1, 'Roscoe string has right value' );
-is( $hash->value->{Boolean}->value, 'true', 'Boolean string has right value'
);
-
-########################################################################
-
-$plist = &{$parse_fqname}( $empty_string );
-
-isa_ok( $plist, $string_type );
-is( $plist->type, $string_shortname, 'type key has right value for string' );
-is( $plist->value, '', 'value is right for string' );
-
done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/parse_plist_fh.t
new/Mac-PropertyList-1.601/t/parse_plist_fh.t
--- old/Mac-PropertyList-1.504/t/parse_plist_fh.t 2022-07-08
05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/parse_plist_fh.t 2024-07-27
03:00:29.000000000 +0200
@@ -28,7 +28,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -36,7 +36,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/plists.t
new/Mac-PropertyList-1.601/t/plists.t
--- old/Mac-PropertyList-1.504/t/plists.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/plists.t 2024-07-27 03:00:29.000000000
+0200
@@ -27,7 +27,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -47,7 +47,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/read_binary.t
new/Mac-PropertyList-1.601/t/read_binary.t
--- old/Mac-PropertyList-1.504/t/read_binary.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/read_binary.t 2024-07-27 03:00:29.000000000
+0200
@@ -34,7 +34,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -52,7 +52,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/scalar.t
new/Mac-PropertyList-1.601/t/scalar.t
--- old/Mac-PropertyList-1.504/t/scalar.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/scalar.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -41,7 +41,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/string.t
new/Mac-PropertyList-1.601/t/string.t
--- old/Mac-PropertyList-1.504/t/string.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/string.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -56,7 +56,7 @@
subtest parse => sub {
my $plist = <<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string>Mimi</string>
</plist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/time.t
new/Mac-PropertyList-1.601/t/time.t
--- old/Mac-PropertyList-1.504/t/time.t 2022-07-08 05:17:58.000000000 +0200
+++ new/Mac-PropertyList-1.601/t/time.t 2024-07-27 03:00:29.000000000 +0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
=head1 SOURCE
@@ -33,7 +33,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/write.t
new/Mac-PropertyList-1.601/t/write.t
--- old/Mac-PropertyList-1.504/t/write.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/write.t 2024-07-27 03:00:29.000000000
+0200
@@ -25,7 +25,7 @@
=head1 AUTHORS
-Original author: brian d foy C<< <[email protected]> >>
+Original author: brian d foy C<< <[email protected]> >>
Contributors:
@@ -41,7 +41,7 @@
=head1 COPYRIGHT
-Copyright © 2002-2022, brian d foy, C<< <[email protected]> >>
+Copyright © 2002-2024, brian d foy, C<< <[email protected]> >>
=head1 LICENSE
@@ -55,7 +55,7 @@
my $array =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Mimi</string>
@@ -66,7 +66,7 @@
my $dict =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Mimi</key>
@@ -77,7 +77,7 @@
my $nested_dict =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Mimi</key>
@@ -93,7 +93,7 @@
my $nested_dict_alt =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Mimi</key>
@@ -109,7 +109,7 @@
my $array_various =<<"HERE";
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<data>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mac-PropertyList-1.504/t/write_binary.t
new/Mac-PropertyList-1.601/t/write_binary.t
--- old/Mac-PropertyList-1.504/t/write_binary.t 2022-07-08 05:17:58.000000000
+0200
+++ new/Mac-PropertyList-1.601/t/write_binary.t 2024-07-27 03:00:29.000000000
+0200
@@ -105,6 +105,7 @@
&testrep( integer => 256, "\x11\x01\x00" );
&testrep( integer => 65535, "\x11\xFF\xFF" );
&testrep( integer => 65536, "\x12\x00\x01\x00\x00" );
+
&testrep( integer => -1, "\x13\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" );
&testrep( integer => -255, "\x13\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01" );