Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Set-Tiny for openSUSE:Factory checked in at 2024-08-29 15:43:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Set-Tiny (Old) and /work/SRC/openSUSE:Factory/.perl-Set-Tiny.new.2698 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-Set-Tiny" Thu Aug 29 15:43:56 2024 rev:3 rq:1197310 version:0.60.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Set-Tiny/perl-Set-Tiny.changes 2024-06-27 16:03:58.332087944 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Set-Tiny.new.2698/perl-Set-Tiny.changes 2024-08-29 15:44:54.037052934 +0200 @@ -1,0 +2,11 @@ +Wed Aug 21 05:30:59 UTC 2024 - Tina Müller <timueller+perl@suse.de> + +- updated to 0.60.0 (0.06) + see /usr/share/doc/packages/perl-Set-Tiny/Changes + + 0.06 2024-08-20 + - Revised Dist::Zilla packaging + - Reduced minumum perl version + - Fixed contains method to always return a single boolean value. + +------------------------------------------------------------------- Old: ---- Set-Tiny-0.05.tar.gz New: ---- Set-Tiny-0.06.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Set-Tiny.spec ++++++ --- /var/tmp/diff_new_pack.2v3Zf7/_old 2024-08-29 15:44:54.453070207 +0200 +++ /var/tmp/diff_new_pack.2v3Zf7/_new 2024-08-29 15:44:54.457070373 +0200 @@ -18,17 +18,18 @@ %define cpan_name Set-Tiny Name: perl-Set-Tiny -Version: 0.50.0 +Version: 0.60.0 Release: 0 -# 0.05 -> normalize -> 0.50.0 -%define cpan_version 0.05 +# 0.06 -> normalize -> 0.60.0 +%define cpan_version 0.06 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Simple sets of strings URL: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/A/AR/ARFREITAS/%{cpan_name}-%{cpan_version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{cpan_version}.tar.gz BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Test::More) >= 0.88 Provides: perl(Set::Tiny) = %{version} %undefine __perllib_provides %{perl_requires} @@ -57,6 +58,6 @@ %perl_gen_filelist %files -f %{name}.files -%doc Changes examples README README.md +%doc Changes examples README %license LICENSE ++++++ Set-Tiny-0.05.tar.gz -> Set-Tiny-0.06.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/.mailmap new/Set-Tiny-0.06/.mailmap --- old/Set-Tiny-0.05/.mailmap 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/.mailmap 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,3 @@ +Stanis Trendelenburg <stanis.trendelenburg@gmail.com> +Ricky Morse <remorse@mgh.harvard.edu> <remorse@partners.org> +Alberto Manuel Brandão Simões <ambs@cpan.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/.perlcriticrc new/Set-Tiny-0.06/.perlcriticrc --- old/Set-Tiny-0.05/.perlcriticrc 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/.perlcriticrc 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,86 @@ +severity = 1 +verbose = 9 +only = 1 + +[BuiltinFunctions::ProhibitComplexMappings] +[BuiltinFunctions::ProhibitLvalueSubstr] +[BuiltinFunctions::ProhibitShiftRef] +[BuiltinFunctions::ProhibitSleepViaSelect] +[BuiltinFunctions::ProhibitStringyEval] +[BuiltinFunctions::ProhibitUniversalCan] +[BuiltinFunctions::ProhibitUniversalIsa] +[BuiltinFunctions::ProhibitVoidGrep] +[BuiltinFunctions::ProhibitVoidMap] +[BuiltinFunctions::RequireGlobFunction] +[BuiltinFunctions::RequireSimpleSortBlock] +[ClassHierarchies::ProhibitOneArgBless] +[CodeLayout::ProhibitHardTabs] +[CodeLayout::RequireConsistentNewlines] +[ControlStructures::ProhibitCascadingIfElse] +[ControlStructures::ProhibitDeepNests] +[ControlStructures::ProhibitLabelsWithSpecialBlockNames] +[ControlStructures::ProhibitMutatingListFunctions] +[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions] +[ControlStructures::ProhibitUnreachableCode] +[ControlStructures::ProhibitYadaOperator] +[ErrorHandling::RequireCheckingReturnValueOfEval] +[InputOutput::ProhibitBacktickOperators] +[InputOutput::ProhibitBarewordFileHandles] +[InputOutput::ProhibitExplicitStdin] +[InputOutput::ProhibitInteractiveTest] +[InputOutput::ProhibitJoinedReadline] +[InputOutput::ProhibitOneArgSelect] +[InputOutput::ProhibitReadlineInForLoop] +[InputOutput::ProhibitTwoArgOpen] +[InputOutput::RequireBriefOpen] +[InputOutput::RequireCheckedOpen] +[InputOutput::RequireEncodingWithUTF8Layer] +[Miscellanea::ProhibitFormats] +[Miscellanea::ProhibitUnrestrictedNoCritic] +[Modules::ProhibitAutomaticExportation] +[Modules::ProhibitConditionalUseStatements] +[Modules::ProhibitEvilModules] +[Modules::ProhibitExcessMainComplexity] +[Modules::RequireBarewordIncludes] +[Modules::RequireEndWithOne] +[Modules::RequireExplicitPackage] +[Modules::RequireFilenameMatchesPackage] +[NamingConventions::ProhibitAmbiguousNames] +[Objects::ProhibitIndirectSyntax] +[RegularExpressions::ProhibitCaptureWithoutTest] +[RegularExpressions::ProhibitComplexRegexes] +[RegularExpressions::ProhibitUnusedCapture] +[Subroutines::ProhibitBuiltinHomonyms] +[Subroutines::ProhibitExcessComplexity] +max_mccabe = 30 +[Subroutines::ProhibitExplicitReturnUndef] +[Subroutines::ProhibitManyArgs] +[Subroutines::ProhibitNestedSubs] +[Subroutines::ProhibitReturnSort] +[Subroutines::ProhibitSubroutinePrototypes] +[Subroutines::ProhibitUnusedPrivateSubroutines] +[Subroutines::ProtectPrivateSubs] +[TestingAndDebugging::ProhibitProlongedStrictureOverride] +[TestingAndDebugging::RequireTestLabels] +[TestingAndDebugging::RequireUseStrict] +[TestingAndDebugging::RequireUseWarnings] +[ValuesAndExpressions::ProhibitCommaSeparatedStatements] +[ValuesAndExpressions::ProhibitComplexVersion] +[ValuesAndExpressions::ProhibitImplicitNewlines] +[ValuesAndExpressions::ProhibitLeadingZeros] +[ValuesAndExpressions::ProhibitMismatchedOperators] +[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters] +[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator] +[ValuesAndExpressions::ProhibitVersionStrings] +[ValuesAndExpressions::RequireQuotedHeredocTerminator] +[Variables::ProhibitAugmentedAssignmentInDeclaration] +allow_our = 1 +[Variables::ProhibitConditionalDeclarations] +[Variables::ProhibitMatchVars] +[Variables::ProhibitReusedNames] +[Variables::ProhibitUnusedVariables] +[Variables::ProtectPrivateVars] +[Variables::RequireInitializationForLocalVars] +[Variables::RequireLexicalLoopIterators] +[Variables::RequireLocalizedPunctuationVars] +[Variables::RequireNegativeIndices] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/Changes new/Set-Tiny-0.06/Changes --- old/Set-Tiny-0.05/Changes 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/Changes 2024-08-20 22:36:17.000000000 +0200 @@ -1,22 +1,27 @@ Revision history for Set-Tiny +0.06 2024-08-20 + - Revised Dist::Zilla packaging + - Reduced minumum perl version + - Fixed contains method to always return a single boolean value. + 0.05 2024-06-17 - Migration from Makefile.PL to Dist::Zilla. - Enabled warnings pragma. - Replaced test files with Dist::Zilla extensions. - Minor refactorings to more "modern" Perl. - Forcing minimum Perl version. + - Migration from Makefile.PL to Dist::Zilla. + - Enabled warnings pragma. + - Replaced test files with Dist::Zilla extensions. + - Minor refactorings to more "modern" Perl. + - Forcing minimum Perl version. 0.04 2016-02-22 - Updated convenience initializer: - - If you pass a Set::Tiny, it will return a clone of that Set::Tiny - - The test for passing an arrayref is stricter, so it won't do weird things to hashrefs. + - Updated convenience initializer: + - If you pass a Set::Tiny, it will return a clone of that Set::Tiny + - The test for passing an arrayref is stricter, so it won't do weird things to hashrefs. 0.03 2015-08-26 - Faster intersection. Thanks to Alberto Simões. + - Faster intersection. Thanks to Alberto Simões. 0.02 2014-09-24 - Added convenience initializer `set`. Thanks to Ricky Morse. + - Added convenience initializer `set`. Thanks to Ricky Morse. 0.01 2009-03-18 - First version, released on an unsuspecting world. + - First version, released on an unsuspecting world. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/MANIFEST new/Set-Tiny-0.06/MANIFEST --- old/Set-Tiny-0.05/MANIFEST 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/MANIFEST 2024-08-20 22:36:17.000000000 +0200 @@ -1,4 +1,6 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.032. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.031. +.mailmap +.perlcriticrc Changes LICENSE MANIFEST @@ -6,14 +8,26 @@ META.yml Makefile.PL README -README.md -cpanfile dist.ini examples/benchmark.pl lib/Set/Tiny.pm +t/00-compile.t +t/00-report-prereqs.dd +t/00-report-prereqs.t t/set.t t/set_init.t +weaver.ini xt/author/critic.t +xt/author/distmeta.t +xt/author/eol.t +xt/author/mojibake.t +xt/author/no-tabs.t xt/author/pod-coverage.t +xt/author/pod-spell.t xt/author/pod-syntax.t +xt/author/portability.t +xt/author/test-version.t +xt/release/changes_has_content.t +xt/release/cpan-changes.t xt/release/kwalitee.t +xt/release/meta-json.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/META.json new/Set-Tiny-0.06/META.json --- old/Set-Tiny-0.05/META.json 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/META.json 2024-08-20 22:36:17.000000000 +0200 @@ -4,7 +4,7 @@ "Stanis Trendelenburg <trendels@cpan.org>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Dist::Zilla version 6.031, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -16,53 +16,78 @@ "prereqs" : { "configure" : { "requires" : { - "ExtUtils::MakeMaker" : "0", - "perl" : "5.012000" + "ExtUtils::MakeMaker" : "0" + }, + "suggests" : { + "JSON::PP" : "2.27300" } }, "develop" : { "requires" : { "Pod::Coverage::TrustPod" : "0", + "Test::CPAN::Changes" : "0.19", + "Test::CPAN::Meta" : "0", + "Test::CPAN::Meta::JSON" : "0.16", + "Test::EOL" : "0", "Test::Kwalitee" : "1.21", + "Test::Mojibake" : "0", "Test::More" : "0.88", + "Test::NoTabs" : "0", "Test::Perl::Critic" : "0", "Test::Pod" : "1.41", - "Test::Pod::Coverage" : "1.08" + "Test::Pod::Coverage" : "1.08", + "Test::Portability::Files" : "0", + "Test::Spelling" : "0.12", + "Test::Version" : "1" } }, "runtime" : { "requires" : { - "Exporter" : "0", - "perl" : "5.012000" + "perl" : "5.006000" } }, "test" : { + "recommends" : { + "CPAN::Meta" : "2.120900" + }, "requires" : { - "Test::More" : "0", - "perl" : "5.012000" + "ExtUtils::MakeMaker" : "0", + "File::Spec" : "0", + "IO::Handle" : "0", + "IPC::Open3" : "0", + "Test::More" : "0.88" } } }, "provides" : { "Set::Tiny" : { "file" : "lib/Set/Tiny.pm", - "version" : "0.05" + "version" : "0.06" } }, "release_status" : "stable", "resources" : { "bugtracker" : { - "web" : "https://github.com/glasswalk3r/set-tiny/issues" + "web" : "https://github.com/haarg/Set-Tiny/issues" }, "repository" : { "type" : "git", - "url" : "https://github.com/glasswalk3r/set-tiny.git", - "web" : "https://github.com/glasswalk3r/set-tiny" + "url" : "https://github.com/haarg/Set-Tiny.git", + "web" : "https://github.com/haarg/Set-Tiny" } }, - "version" : "0.05", + "version" : "0.06", + "x_contributors" : [ + "Alberto Manuel Brand\u00e3o Sim\u00f5es <ambs@cpan.org>", + "Alceu Rodrigues de Freitas Junior <glasswalk3r@yahoo.com.br>", + "brian greenfield <briang@cpan.org>", + "Graham Knop <haarg@haarg.org>", + "Ricky Morse <remorse@mgh.harvard.edu>", + "Stanis Trendelenburg <stanis.trendelenburg@gmail.com>" + ], "x_generated_by_perl" : "v5.38.2", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.38", - "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later" + "x_serialization_backend" : "Cpanel::JSON::XS version 4.37", + "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later", + "x_use_unsafe_inc" : 0 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/META.yml new/Set-Tiny-0.06/META.yml --- old/Set-Tiny-0.05/META.yml 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/META.yml 2024-08-20 22:36:17.000000000 +0200 @@ -3,13 +3,15 @@ author: - 'Stanis Trendelenburg <trendels@cpan.org>' build_requires: - Test::More: '0' - perl: '5.012000' + ExtUtils::MakeMaker: '0' + File::Spec: '0' + IO::Handle: '0' + IPC::Open3: '0' + Test::More: '0.88' configure_requires: ExtUtils::MakeMaker: '0' - perl: '5.012000' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010' +generated_by: 'Dist::Zilla version 6.031, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -18,14 +20,21 @@ provides: Set::Tiny: file: lib/Set/Tiny.pm - version: '0.05' + version: '0.06' requires: - Exporter: '0' - perl: '5.012000' + perl: '5.006000' resources: - bugtracker: https://github.com/glasswalk3r/set-tiny/issues - repository: https://github.com/glasswalk3r/set-tiny.git -version: '0.05' + bugtracker: https://github.com/haarg/Set-Tiny/issues + repository: https://github.com/haarg/Set-Tiny.git +version: '0.06' +x_contributors: + - 'Alberto Manuel Brandão Simões <ambs@cpan.org>' + - 'Alceu Rodrigues de Freitas Junior <glasswalk3r@yahoo.com.br>' + - 'brian greenfield <briang@cpan.org>' + - 'Graham Knop <haarg@haarg.org>' + - 'Ricky Morse <remorse@mgh.harvard.edu>' + - 'Stanis Trendelenburg <stanis.trendelenburg@gmail.com>' x_generated_by_perl: v5.38.2 x_serialization_backend: 'YAML::Tiny version 1.74' x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later' +x_use_unsafe_inc: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/Makefile.PL new/Set-Tiny-0.06/Makefile.PL --- old/Set-Tiny-0.05/Makefile.PL 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/Makefile.PL 2024-08-20 22:36:17.000000000 +0200 @@ -1,8 +1,8 @@ -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.032. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.031. use strict; use warnings; -use 5.012000; +use 5.006000; use ExtUtils::MakeMaker; @@ -14,15 +14,17 @@ }, "DISTNAME" => "Set-Tiny", "LICENSE" => "perl", - "MIN_PERL_VERSION" => "5.012000", + "MIN_PERL_VERSION" => "5.006000", "NAME" => "Set::Tiny", - "PREREQ_PM" => { - "Exporter" => 0 - }, + "PREREQ_PM" => {}, "TEST_REQUIRES" => { - "Test::More" => 0 + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, + "IO::Handle" => 0, + "IPC::Open3" => 0, + "Test::More" => "0.88" }, - "VERSION" => "0.05", + "VERSION" => "0.06", "test" => { "TESTS" => "t/*.t" } @@ -30,8 +32,11 @@ my %FallbackPrereqs = ( - "Exporter" => 0, - "Test::More" => 0 + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, + "IO::Handle" => 0, + "IPC::Open3" => 0, + "Test::More" => "0.88" ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/README new/Set-Tiny-0.06/README --- old/Set-Tiny-0.05/README 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/README 2024-08-20 22:36:17.000000000 +0200 @@ -1,12 +1,198 @@ -This archive contains the distribution Set-Tiny, -version 0.05: +NAME + Set::Tiny - Simple sets of strings - Simple sets of strings +SYNOPSIS + use Set::Tiny; -This software is copyright (c) 2024 by Stanis Trendelenburg. + my $s1 = Set::Tiny->new(qw( a b c )); + my $s2 = Set::Tiny->new(qw( b c d )); -This is free software; you can redistribute it and/or modify it under -the same terms as the Perl 5 programming language system itself. + my $u = $s1->union($s2); + my $i = $s1->intersection($s2); + my $s = $s1->symmetric_difference($s2); + print $u->as_string; # (a b c d) + print $i->as_string; # (b c) + print $s->as_string; # (a d) + + print "i is a subset of s1" if $i->is_subset($s1); + print "u is a superset of s1" if $u->is_superset($s1); + + # or using the shorter initializer: + + use Set::Tiny qw( set ); + + my $s1 = set(qw( a b c )); + my $s2 = set([1, 2, 3]); + +DESCRIPTION + Set::Tiny is a thin wrapper around regular Perl hashes to perform often + needed set operations, such as testing two sets of strings for equality, + or checking whether one is contained within the other. + + For a more complete implementation of mathematical set theory, see + Set::Scalar. For sets of arbitrary objects, see Set::Object. + + Why Set::Tiny? + Convenience + "Set::Tiny" aims to provide a convenient interface to commonly used + set operations, which you would usually implement using regular + hashes and a couple of "for" loops (in fact, that's exactly what + "Set::Tiny" does). + + Speed + The price in performance you pay for this convenience when using a + full-featured set implementation like Set::Scalar is way too high if + you don't actually need the advanced functionality it offers. Run + examples/benchmark.pl for a (non-representative) comparison between + different "Set::" modules. + + Ease of use + Set::Object offers better performance than Set::Scalar, but needs a + C compiler to install. "Set::Tiny" has no dependencies and contains + no C code. + +EXPORTABLE FUNCTIONS + set( [*list or arrayref*] ) + If you request it, Set::Tiny can export a function set(), which lets you + create a Set::Tiny instance in a more compact form. + + Unlike the constructor, this function also accepts the set elements as + an array reference. + + If you pass an existing Set::Tiny to the initializer, it creates a clone + of the set and returns that. + +METHODS + Note that all methods that expect a *list* of set elements stringify + their arguments before inserting them into the set. + + new( [*list*] ) + Class method. Returns a new Set::Tiny object, initialized with the + strings in *list*, or the empty set if *list* is empty. + + clone + copy + Returns a new set with the same elements as this one. + + insert( [*list*] ) + Inserts the elements in *list* into the set. + + delete( [*list*] ) + remove( [*list*] ) + Removes the elements in *list* from the set. Elements that are not + members of the set are ignored. + + invert( [*list*] ) + For each element in *list*, if it is already a member of the set, + deletes it from the set, else insert it into the set. + + clear + Removes all elements from the set. + + as_string + Returns a string representation of the set. + + elements + members + Returns the (unordered) list of elements. + + size + Returns the number of elements. + + has( [*list*] ) + contains( [*list*] ) + Returns true if all of the elements in *list* are members of the set. If + *list* is empty, returns true. + + element( [*string*] ) + member( [*string*] ) + Returns the string if it is contained in the set. + + is_null + is_empty + Returns true if the set is the empty set. + + union( *set* ) + Returns a new set containing both the elements of this set and *set*. + + intersection( *set* ) + Returns a new set containing the elements that are present in both this + set and *set*. + + intersection2( *set* ) + Like intersection(), but orders the sets by size before comparing their + elements. This results in a small overhead for small, evenly sized sets, + but a large speedup when comparing bigger (~ 100 elements) and very + unevenly sized sets. + + difference( *set* ) + Returns a new set containing the elements of this set with the elements + of *set* removed. + + unique( *set* ) + symmetric_difference( *set* ) + Returns a new set containing the elements that are present in either + this set or *set*, but not in both. + + is_equal( *set* ) + Returns true if this set contains the same elements as *set*. + + is_disjoint( *set* ) + Returns true if this set has no elements in common with *set*. Note that + the empty set is disjoint to any other set. + + is_properly_intersecting( *set* ) + Returns true if this set has elements in common with *set*, but both + also contain elements that they have not in common with each other. + + is_proper_subset( *set* ) + Returns true if this set is a proper subset of *set*. + + is_proper_superset( *set* ) + Returns true if this set is a proper superset of *set*. + + is_subset( *set* ) + Returns true if this set is a subset of *set*. + + is_superset( *set* ) + Returns true if this set is a superset of *set*. + +AUTHOR + Stanis Trendelenburg, "<trendels at cpan.org>" + +CREDITS + Thanks to Adam Kennedy for advice on how to make this module "Tiny". + +SEE ALSO + * Set::Scalar + +BUGS + Please report any bugs or feature requests on the bugtracker website + <https://github.com/haarg/Set-Tiny/issues> + + When submitting a bug or request, please include a test-file or a patch + to an existing test-file that illustrates the bug or desired feature. + +CONTRIBUTORS + * Alberto Manuel Brandão Simões <ambs@cpan.org> + + * Alceu Rodrigues de Freitas Junior <glasswalk3r@yahoo.com.br> + + * brian greenfield <briang@cpan.org> + + * Graham Knop <haarg@haarg.org> + + * Ricky Morse <remorse@mgh.harvard.edu> + + * Stanis Trendelenburg <stanis.trendelenburg@gmail.com> + +AUTHOR + Stanis Trendelenburg <trendels@cpan.org> + +COPYRIGHT AND LICENSE + This software is copyright (c) 2024 by Stanis Trendelenburg. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. -This README file was generated by Dist::Zilla::Plugin::Readme v6.032. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/README.md new/Set-Tiny-0.06/README.md --- old/Set-Tiny-0.05/README.md 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -# Set-Tiny - -`Set::Tiny` is a thin wrapper around regular Perl hashes to perform often needed -set operations, such as testing two sets of strings for equality, or checking -whether one is contained within the other. - -## Installation - -The best way to install this module is to use `cpan` or `cpanm`: - -``` -cpanm install Set::Tiny -``` - -Since `Set::Tiny` is available at [CPAN](https://metacpan.org/). - -Another option is to use your package manager (if the module is available). - -As a last resource (not recommended) you can download the tarball, unpackt it -and run the following commands: - -``` -perl Makefile.PL -make -make test -make install -``` - -## Support and documentation - -After installing, you can find documentation for this module with the -`perldoc` program: - -``` -perldoc Set::Tiny -``` - -## Copyright and license - -Copyright (C) 2009 Stanis Trendelenburg. - -This program is free software; you can redistribute it and/or modify it -under the same terms as Perl itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/cpanfile new/Set-Tiny-0.06/cpanfile --- old/Set-Tiny-0.05/cpanfile 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/cpanfile 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -# This file is generated by Dist::Zilla -# Prereqs are detected automatically. You do not need to edit this file - -requires "Exporter" => "0"; -requires "perl" => "5.012000"; - -on 'test' => sub { - requires "Test::More" => "0"; - requires "perl" => "5.012000"; -}; - -on 'configure' => sub { - requires "ExtUtils::MakeMaker" => "0"; - requires "perl" => "5.012000"; -}; - -on 'develop' => sub { - requires "Pod::Coverage::TrustPod" => "0"; - requires "Test::Kwalitee" => "1.21"; - requires "Test::More" => "0.88"; - requires "Test::Perl::Critic" => "0"; - requires "Test::Pod" => "1.41"; - requires "Test::Pod::Coverage" => "1.08"; -}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/dist.ini new/Set-Tiny-0.06/dist.ini --- old/Set-Tiny-0.05/dist.ini 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/dist.ini 2024-08-20 22:36:17.000000000 +0200 @@ -1,56 +1,77 @@ -name = Set-Tiny -version = 0.05 -author = Stanis Trendelenburg <trendels@cpan.org> -license = Perl_5 +name = Set-Tiny +author = Stanis Trendelenburg <trendels@cpan.org> +license = Perl_5 copyright_holder = Stanis Trendelenburg -[GatherDir] + +;;; Gather +[Git::GatherDir] +include_dotfiles = 1 +exclude_match = ^\.git exclude_filename = cpanfile -[CPANFile] -comment = This file is generated by Dist::Zilla -comment = Prereqs are detected automatically. You do not need to edit this file -[PruneCruft] -[ManifestSkip] -[MetaYAML] +exclude_filename = README.md + +;;; Metadata +[Git::Contributors] + +[MetaProvides::Package] + +[MetaResources] +bugtracker.web = https://github.com/haarg/Set-Tiny/issues +repository.url = https://github.com/haarg/Set-Tiny.git +repository.web = https://github.com/haarg/Set-Tiny +repository.type = git + +[Prereqs::FromCPANfile] + +[UseUnsafeInc] +dot_in_INC = 0 + +;;; Modification +[PodWeaver] +; authordep Pod::Weaver::Section::Contributors +; authordep Pod::Weaver::Section::ReplaceVersion +; authordep Pod::Weaver::Plugin::StopWords + +;;; Extra Files [License] -[Readme] -[TestRelease] -[MakeMaker] +[MetaJSON] +[MetaYAML] [Manifest] +[Pod2Readme] + +;;; Installer +[MakeMaker] + +;;; Release +[TestRelease] +[RunExtraTests] [ConfirmRelease] [UploadToCPAN] -[MetaJSON] -[MetaProvides::Package] -[PodWeaver] -[AutoPrereqs] -skip = ^base -skip = ^warnings -skip = ^strict -skip = ^constant -skip = ^UNIVERSAL -[OurPkgVersion] -[MinimumPerl] -perl = 5.012000 -[MetaResources] -repository = https://github.com/glasswalk3r/set-tiny -bugtracker.web = https://github.com/glasswalk3r/set-tiny/issues -repository.url = https://github.com/glasswalk3r/set-tiny.git -repository.web = https://github.com/glasswalk3r/set-tiny -repository.type = git -[Test::Perl::Critic] + +[Git::Check] +[Git::Remote::Check] +branch = master +[@Git::VersionManager] +-remove = Prereqs +NextRelease.format = %-6v %{yyyy-MM-dd}d%{ (TRIAL RELEASE)}T +[Git::Push] + +;;; Tests +[MetaTests] +[MojibakeTests] [PodCoverageTests] [PodSyntaxTests] +[Test::CPAN::Changes] +[Test::CPAN::Meta::JSON] +[Test::ChangesHasContent] +[Test::Compile] +[Test::EOL] [Test::Kwalitee] -; authordep Dist::Zilla::Plugin::Test::Perl::Critic -; authordep Dist::Zilla::Plugin::AutoPrereqs -; authordep Dist::Zilla::Plugin::MetaResources -; authordep Dist::Zilla::Plugin::MinimumPerl -; authordep Dist::Zilla::Plugin::OurPkgVersion -; authordep Dist::Zilla::Plugin::Prereqs -; authordep Dist::Zilla::Plugin::Test::Kwalitee -; authordep Dist::Zilla::PluginBundle::Basic -; authordep Software::License::Perl_5 -; authordep Dist::Zilla::Plugin::MetaProvides -; authordep Dist::Zilla::Plugin::MetaJSON -; authordep Dist::Zilla::Plugin::RunExtraTests -; authordep Test::Perl::Critic -; authordep Dist::Zilla::Plugin::CPANFile +;[Test::MinimumVersion] # can't exclude files +[Test::NoTabs] +[Test::Perl::Critic] +critic_config = .perlcriticrc +[Test::PodSpelling] +[Test::Portability] +[Test::ReportPrereqs] +[Test::Version] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/examples/benchmark.pl new/Set-Tiny-0.06/examples/benchmark.pl --- old/Set-Tiny-0.05/examples/benchmark.pl 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/examples/benchmark.pl 2024-08-20 22:36:17.000000000 +0200 @@ -114,7 +114,7 @@ ); print "running benchmarks with sets of size ", - scalar @a, " and ", scalar @b, "\n"; + scalar @a, " and ", scalar @b, "\n"; for my $test ( sort keys %tests ) { print "\n$test:\n"; cmpthese( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/lib/Set/Tiny.pm new/Set-Tiny-0.06/lib/Set/Tiny.pm --- old/Set-Tiny-0.05/lib/Set/Tiny.pm 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/lib/Set/Tiny.pm 2024-08-20 22:36:17.000000000 +0200 @@ -1,13 +1,11 @@ package Set::Tiny; - -use warnings; use strict; -use Exporter 'import'; -our @EXPORT_OK = qw(set); +use warnings; -our $VERSION = '0.05'; # VERSION +our $VERSION = '0.06'; -# ABSTRACT: Simple sets of strings +use Exporter 'import'; +our @EXPORT_OK = qw(set); sub new { my $class = shift; @@ -16,7 +14,7 @@ return bless \%self, $class; } -sub set { +sub set { ## no critic (NamingConventions::ProhibitAmbiguousNames) if ( ref( $_[0] ) eq 'Set::Tiny' ) { return $_[0]->clone(); } @@ -38,8 +36,8 @@ sub contains { my $self = shift; - exists $self->{$_} or return for @_; - return 1; + exists $self->{$_} or return !!0 for @_; + return !!1; } sub clone { @@ -88,8 +86,8 @@ sub is_properly_intersecting { !$_[0]->is_disjoint( $_[1] ) - && $_[0]->difference( $_[1] )->size - && $_[1]->difference( $_[0] )->size; + && $_[0]->difference( $_[1] )->size + && $_[1]->difference( $_[0] )->size; } sub difference { $_[0]->clone->remove( keys %{ $_[1] } ) } @@ -107,7 +105,7 @@ sub intersection2 { my $class = ref $_[0]; my ( $a, $b ) = - $_[0]->size > $_[1]->size ? ( $_[0], $_[1] ) : ( $_[1], $_[0] ); + $_[0]->size > $_[1]->size ? ( $_[0], $_[1] ) : ( $_[1], $_[0] ); return $class->new( grep { exists( $a->{$_} ) } keys %{$b} ); } @@ -131,14 +129,12 @@ =encoding UTF-8 +=for :stopwords Stanis Trendelenburg superset + =head1 NAME Set::Tiny - Simple sets of strings -=head1 VERSION - -version 0.05 - =head1 SYNOPSIS use Set::Tiny; @@ -356,6 +352,47 @@ =back +=head1 BUGS + +Please report any bugs or feature requests on the bugtracker website +L<https://github.com/haarg/Set-Tiny/issues> + +When submitting a bug or request, please include a test-file or a +patch to an existing test-file that illustrates the bug or desired +feature. + +=head1 CONTRIBUTORS + +=for stopwords Alberto Manuel Brandão Simões Alceu Rodrigues de Freitas Junior brian greenfield Graham Knop Ricky Morse Stanis Trendelenburg + +=over 4 + +=item * + +Alberto Manuel Brandão Simões <ambs@cpan.org> + +=item * + +Alceu Rodrigues de Freitas Junior <glasswalk3r@yahoo.com.br> + +=item * + +brian greenfield <briang@cpan.org> + +=item * + +Graham Knop <haarg@haarg.org> + +=item * + +Ricky Morse <remorse@mgh.harvard.edu> + +=item * + +Stanis Trendelenburg <stanis.trendelenburg@gmail.com> + +=back + =head1 AUTHOR Stanis Trendelenburg <trendels@cpan.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/t/00-compile.t new/Set-Tiny-0.06/t/00-compile.t --- old/Set-Tiny-0.05/t/00-compile.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/t/00-compile.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,60 @@ +use 5.006; +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058 + +use Test::More; + +plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0); + +my @module_files = ( + 'Set/Tiny.pm' +); + + + +# no fake home requested + +my @switches = ( + -d 'blib' ? '-Mblib' : '-Ilib', +); + +use File::Spec; +use IPC::Open3; +use IO::Handle; + +open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; + +my @warnings; +for my $lib (@module_files) +{ + # see L<perlfaq8/How can I capture STDERR from an external command?> + my $stderr = IO::Handle->new; + + diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } + $^X, @switches, '-e', "require q[$lib]")) + if $ENV{PERL_COMPILE_TEST_DEBUG}; + + my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); + binmode $stderr, ':crlf' if $^O eq 'MSWin32'; + my @_warnings = <$stderr>; + waitpid($pid, 0); + is($?, 0, "$lib loaded ok"); + + shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ + and not eval { +require blib; blib->VERSION('1.01') }; + + if (@_warnings) + { + warn @_warnings; + push @warnings, @_warnings; + } +} + + + +is(scalar(@warnings), 0, 'no warnings found') + or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING}; + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/t/00-report-prereqs.dd new/Set-Tiny-0.06/t/00-report-prereqs.dd --- old/Set-Tiny-0.05/t/00-report-prereqs.dd 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/t/00-report-prereqs.dd 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,48 @@ +do { my $x = { + 'configure' => { + 'requires' => { + 'ExtUtils::MakeMaker' => '0' + }, + 'suggests' => { + 'JSON::PP' => '2.27300' + } + }, + 'develop' => { + 'requires' => { + 'Pod::Coverage::TrustPod' => '0', + 'Test::CPAN::Changes' => '0.19', + 'Test::CPAN::Meta' => '0', + 'Test::CPAN::Meta::JSON' => '0.16', + 'Test::EOL' => '0', + 'Test::Kwalitee' => '1.21', + 'Test::Mojibake' => '0', + 'Test::More' => '0.88', + 'Test::NoTabs' => '0', + 'Test::Perl::Critic' => '0', + 'Test::Pod' => '1.41', + 'Test::Pod::Coverage' => '1.08', + 'Test::Portability::Files' => '0', + 'Test::Spelling' => '0.12', + 'Test::Version' => '1' + } + }, + 'runtime' => { + 'requires' => { + 'perl' => '5.006000' + } + }, + 'test' => { + 'recommends' => { + 'CPAN::Meta' => '2.120900' + }, + 'requires' => { + 'ExtUtils::MakeMaker' => '0', + 'File::Spec' => '0', + 'IO::Handle' => '0', + 'IPC::Open3' => '0', + 'Test::More' => '0.88' + } + } + }; + $x; + } \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/t/00-report-prereqs.t new/Set-Tiny-0.06/t/00-report-prereqs.t --- old/Set-Tiny-0.05/t/00-report-prereqs.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/t/00-report-prereqs.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,197 @@ +#!perl + +use strict; +use warnings; + +# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.029 + +use Test::More tests => 1; + +use ExtUtils::MakeMaker; +use File::Spec; + +# from $version::LAX +my $lax_version_re = + qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? + | + (?:\.[0-9]+) (?:_[0-9]+)? + ) | (?: + v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? + | + (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? + ) + )/x; + +# hide optional CPAN::Meta modules from prereq scanner +# and check if they are available +my $cpan_meta = "CPAN::Meta"; +my $cpan_meta_pre = "CPAN::Meta::Prereqs"; +my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic + +# Verify requirements? +my $DO_VERIFY_PREREQS = 1; + +sub _max { + my $max = shift; + $max = ( $_ > $max ) ? $_ : $max for @_; + return $max; +} + +sub _merge_prereqs { + my ($collector, $prereqs) = @_; + + # CPAN::Meta::Prereqs object + if (ref $collector eq $cpan_meta_pre) { + return $collector->with_merged_prereqs( + CPAN::Meta::Prereqs->new( $prereqs ) + ); + } + + # Raw hashrefs + for my $phase ( keys %$prereqs ) { + for my $type ( keys %{ $prereqs->{$phase} } ) { + for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { + $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; + } + } + } + + return $collector; +} + +my @include = qw( + +); + +my @exclude = qw( + +); + +# Add static prereqs to the included modules list +my $static_prereqs = do './t/00-report-prereqs.dd'; + +# Merge all prereqs (either with ::Prereqs or a hashref) +my $full_prereqs = _merge_prereqs( + ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), + $static_prereqs +); + +# Add dynamic prereqs to the included modules list (if we can) +my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; +my $cpan_meta_error; +if ( $source && $HAS_CPAN_META + && (my $meta = eval { CPAN::Meta->load_file($source) } ) +) { + $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); +} +else { + $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) + $source = 'static metadata'; +} + +my @full_reports; +my @dep_errors; +my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; + +# Add static includes into a fake section +for my $mod (@include) { + $req_hash->{other}{modules}{$mod} = 0; +} + +for my $phase ( qw(configure build test runtime develop other) ) { + next unless $req_hash->{$phase}; + next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); + + for my $type ( qw(requires recommends suggests conflicts modules) ) { + next unless $req_hash->{$phase}{$type}; + + my $title = ucfirst($phase).' '.ucfirst($type); + my @reports = [qw/Module Want Have/]; + + for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { + next if grep { $_ eq $mod } @exclude; + + my $want = $req_hash->{$phase}{$type}{$mod}; + $want = "undef" unless defined $want; + $want = "any" if !$want && $want == 0; + + if ($mod eq 'perl') { + push @reports, ['perl', $want, $]]; + next; + } + + my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; + + my $file = $mod; + $file =~ s{::}{/}g; + $file .= ".pm"; + my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; + + if ($prefix) { + my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); + $have = "undef" unless defined $have; + push @reports, [$mod, $want, $have]; + + if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { + if ( $have !~ /\A$lax_version_re\z/ ) { + push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; + } + elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { + push @dep_errors, "$mod version '$have' is not in required range '$want'"; + } + } + } + else { + push @reports, [$mod, $want, "missing"]; + + if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { + push @dep_errors, "$mod is not installed ($req_string)"; + } + } + } + + if ( @reports ) { + push @full_reports, "=== $title ===\n\n"; + + my $ml = _max( map { length $_->[0] } @reports ); + my $wl = _max( map { length $_->[1] } @reports ); + my $hl = _max( map { length $_->[2] } @reports ); + + if ($type eq 'modules') { + splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; + } + else { + splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; + } + + push @full_reports, "\n"; + } + } +} + +if ( @full_reports ) { + diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; +} + +if ( $cpan_meta_error || @dep_errors ) { + diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; +} + +if ( $cpan_meta_error ) { + my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; + diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; +} + +if ( @dep_errors ) { + diag join("\n", + "\nThe following REQUIRED prerequisites were not satisfied:\n", + @dep_errors, + "\n" + ); +} + +pass('Reported prereqs'); + +# vim: ts=4 sts=4 sw=4 et: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/t/set.t new/Set-Tiny-0.06/t/set.t --- old/Set-Tiny-0.05/t/set.t 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/t/set.t 2024-08-20 22:36:17.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use Test::More tests => 60; -use_ok 'Set::Tiny'; +use Set::Tiny; my $a = Set::Tiny->new; my $b = Set::Tiny->new(qw( a b c )); @@ -26,12 +26,14 @@ is_deeply [ $a->elements ], [], "elements() of emtpy set"; is_deeply [ sort $b->elements ], [qw( a b c )], "elements()"; is_deeply [ sort $b->members ], [qw( a b c )], - "members() is an alias for elements()"; + "members() is an alias for elements()"; ok $b->contains(qw( a c )), to_s( $b, " contains 'a' and 'c'" ); ok $b->has(qw( a c )), "has() is an alias for contains()"; ok !$a->contains('b'), to_s( $a, " does not contain 'b'" ); ok $a->contains(), to_s( $a, " contains the empty list" ); +my @contains = $b->contains('z'); +is_deeply \@contains, [''], 'false contains return is boolean false'; ok $a->is_null, to_s( $a, " is empty" ); ok !$b->is_null, to_s( $b, " is not empty" ); @@ -66,23 +68,23 @@ ok !$b->is_disjoint($b), to_s( $b, " and ", $b, " are not disjoint" ); ok !$a->is_properly_intersecting($b), - to_s( $a, " is not properly intersecting ", $b ); + to_s( $a, " is not properly intersecting ", $b ); ok !$a->is_properly_intersecting($a), - to_s( $a, " is not properly intersecting ", $a ); + to_s( $a, " is not properly intersecting ", $a ); ok !$b->is_properly_intersecting($b), - to_s( $b, " is not properly intersecting ", $b ); + to_s( $b, " is not properly intersecting ", $b ); my $c = Set::Tiny->new(qw( c d e )); ok $b->is_properly_intersecting($c), - to_s( $b, " is properly intersecting ", $c ); + to_s( $b, " is properly intersecting ", $c ); my $d1 = $b->difference($c); my $d2 = $c->difference($b); is $d1->as_string, '(a b)', - to_s( "difference of ", $b, " and ", $c, " is ", $d1 ); + to_s( "difference of ", $b, " and ", $c, " is ", $d1 ); is $d2->as_string, '(d e)', - to_s( "difference of ", $c, " and ", $b, " is ", $d2 ); + to_s( "difference of ", $c, " and ", $b, " is ", $d2 ); my $u = $b->union($c); my $i = $b->intersection($c); @@ -90,17 +92,17 @@ my $s = $b->symmetric_difference($c); is $u->as_string, '(a b c d e)', - to_s( "union of ", $b, " and ", $c, " is ", $u ); + to_s( "union of ", $b, " and ", $c, " is ", $u ); is $i->as_string, '(c)', - to_s( "intersection of ", $b, " and ", $c, " is ", $i ); + to_s( "intersection of ", $b, " and ", $c, " is ", $i ); is $i2->as_string, '(c)', - to_s( "intersection2 of ", $b, " and ", $c, " is ", $i2 ); + to_s( "intersection2 of ", $b, " and ", $c, " is ", $i2 ); is $s->as_string, '(a b d e)', - to_s( "symmetric difference of ", $b, " and ", $c, " is ", $s ); + to_s( "symmetric difference of ", $b, " and ", $c, " is ", $s ); $s = $b->unique($c); is $s->as_string, '(a b d e)', - "unique() is an alias for symmetric_difference()"; + "unique() is an alias for symmetric_difference()"; $b->clear; is $b->as_string, "()", "clear()"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/t/set_init.t new/Set-Tiny-0.06/t/set_init.t --- old/Set-Tiny-0.05/t/set_init.t 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/t/set_init.t 2024-08-20 22:36:17.000000000 +0200 @@ -1,10 +1,10 @@ use warnings; use strict; -use Test::More tests => 7; +use Test::More tests => 6; # test to make sure that the short initializer (`set()`) works -use_ok 'Set::Tiny', qw(set); +use Set::Tiny qw(set); my $a = set(); my $b = set(qw( a b c )); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/weaver.ini new/Set-Tiny-0.06/weaver.ini --- old/Set-Tiny-0.05/weaver.ini 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/weaver.ini 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,12 @@ +[@CorePrep] +[-SingleEncoding] +[-StopWords] + +[Generic / NAME] + +[Leftovers] + +[Bugs] +[Contributors] +[Authors] +[Legal] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/critic.t new/Set-Tiny-0.06/xt/author/critic.t --- old/Set-Tiny-0.05/xt/author/critic.t 2024-06-17 14:54:18.000000000 +0200 +++ new/Set-Tiny-0.06/xt/author/critic.t 2024-08-20 22:36:17.000000000 +0200 @@ -3,5 +3,5 @@ use strict; use warnings; -use Test::Perl::Critic (-profile => "perlcritic.rc") x!! -e "perlcritic.rc"; +use Test::Perl::Critic (-profile => ".perlcriticrc") x!! -e ".perlcriticrc"; all_critic_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/distmeta.t new/Set-Tiny-0.06/xt/author/distmeta.t --- old/Set-Tiny-0.05/xt/author/distmeta.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/distmeta.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,7 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::MetaTests. +use strict; +use warnings; +use Test::CPAN::Meta; + +meta_yaml_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/eol.t new/Set-Tiny-0.06/xt/author/eol.t --- old/Set-Tiny-0.05/xt/author/eol.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/eol.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,19 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19 + +use Test::More 0.88; +use Test::EOL; + +my @files = ( + 'lib/Set/Tiny.pm', + 't/00-compile.t', + 't/00-report-prereqs.dd', + 't/00-report-prereqs.t', + 't/set.t', + 't/set_init.t' +); + +eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/mojibake.t new/Set-Tiny-0.06/xt/author/mojibake.t --- old/Set-Tiny-0.05/xt/author/mojibake.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/mojibake.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,9 @@ +#!perl + +use strict; +use warnings qw(all); + +use Test::More; +use Test::Mojibake; + +all_files_encoding_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/no-tabs.t new/Set-Tiny-0.06/xt/author/no-tabs.t --- old/Set-Tiny-0.05/xt/author/no-tabs.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/no-tabs.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,19 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15 + +use Test::More 0.88; +use Test::NoTabs; + +my @files = ( + 'lib/Set/Tiny.pm', + 't/00-compile.t', + 't/00-report-prereqs.dd', + 't/00-report-prereqs.t', + 't/set.t', + 't/set_init.t' +); + +notabs_ok($_) foreach @files; +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/pod-spell.t new/Set-Tiny-0.06/xt/author/pod-spell.t --- old/Set-Tiny-0.05/xt/author/pod-spell.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/pod-spell.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,39 @@ +use strict; +use warnings; +use Test::More; + +# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005 +use Test::Spelling 0.12; +use Pod::Wordlist; + + +add_stopwords(<DATA>); +all_pod_files_spelling_ok( qw( bin lib ) ); +__DATA__ +Alberto +Alceu +Brandão +Freitas +Graham +Junior +Knop +Manuel +Morse +Ricky +Rodrigues +Set +Simões +Stanis +Tiny +Trendelenburg +ambs +brian +briang +de +glasswalk3r +greenfield +haarg +lib +remorse +stanis +trendels diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/portability.t new/Set-Tiny-0.06/xt/author/portability.t --- old/Set-Tiny-0.05/xt/author/portability.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/portability.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,8 @@ +use strict; +use warnings; + +use Test::More; + +use Test::Portability::Files; + +run_tests(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/author/test-version.t new/Set-Tiny-0.06/xt/author/test-version.t --- old/Set-Tiny-0.05/xt/author/test-version.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/author/test-version.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,23 @@ +use strict; +use warnings; +use Test::More; + +# generated by Dist::Zilla::Plugin::Test::Version 1.09 +use Test::Version; + +my @imports = qw( version_all_ok ); + +my $params = { + is_strict => 0, + has_version => 1, + multiple => 0, + +}; + +push @imports, $params + if version->parse( $Test::Version::VERSION ) >= version->parse('1.002'); + +Test::Version->import(@imports); + +version_all_ok; +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/changes_has_content.t new/Set-Tiny-0.06/xt/release/changes_has_content.t --- old/Set-Tiny-0.05/xt/release/changes_has_content.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/release/changes_has_content.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,42 @@ +use Test::More tests => 2; + +note 'Checking Changes'; +my $changes_file = 'Changes'; +my $newver = '0.06'; +my $trial_token = '-TRIAL'; +my $encoding = 'UTF-8'; + +SKIP: { + ok(-e $changes_file, "$changes_file file exists") + or skip 'Changes is missing', 1; + + ok(_get_changes($newver), "$changes_file has content for $newver"); +} + +done_testing; + +sub _get_changes +{ + my $newver = shift; + + # parse changelog to find commit message + open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!"; + my $changelog = join('', <$fh>); + if ($encoding) { + require Encode; + $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK()); + } + close $fh; + + my @content = + grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented + split /\n/, $changelog; + shift @content; # drop the version line + + # drop unindented last line and trailing blank lines + pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ ); + + # return number of non-blank lines + return scalar @content; +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/cpan-changes.t new/Set-Tiny-0.06/xt/release/cpan-changes.t --- old/Set-Tiny-0.05/xt/release/cpan-changes.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/release/cpan-changes.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,10 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012 + +use Test::More 0.96 tests => 1; +use Test::CPAN::Changes; +subtest 'changes_ok' => sub { + changes_file_ok('Changes'); +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Set-Tiny-0.05/xt/release/meta-json.t new/Set-Tiny-0.06/xt/release/meta-json.t --- old/Set-Tiny-0.05/xt/release/meta-json.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Set-Tiny-0.06/xt/release/meta-json.t 2024-08-20 22:36:17.000000000 +0200 @@ -0,0 +1,4 @@ +#!perl + +use Test::CPAN::Meta::JSON; +meta_json_ok();
participants (1)
-
Source-Sync