Hello community, here is the log from the commit of package perl-Params-Util for openSUSE:Factory checked in at 2012-03-06 14:06:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Params-Util (Old) and /work/SRC/openSUSE:Factory/.perl-Params-Util.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Params-Util", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Params-Util/perl-Params-Util.changes 2011-09-23 12:38:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Params-Util.new/perl-Params-Util.changes 2012-03-06 14:06:19.000000000 +0100 @@ -1,0 +2,9 @@ +Tue Mar 6 08:06:12 UTC 2012 - [email protected] + +- updated to 1.06 + - Remove the need for the sanexs.c file by generating into a temp + file instead. + - Restore compatibility with pre-5.8.8 Perls without a working + compiler available install time (RIBASUSHI) + +------------------------------------------------------------------- Old: ---- Params-Util-1.04.tar.gz New: ---- Params-Util-1.06.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Params-Util.spec ++++++ --- /var/tmp/diff_new_pack.7n3g6f/_old 2012-03-06 14:06:20.000000000 +0100 +++ /var/tmp/diff_new_pack.7n3g6f/_new 2012-03-06 14:06:20.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Params-Util # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,20 +16,21 @@ # - Name: perl-Params-Util -Version: 1.04 -Release: 1 -License: GPL-1.0+ or Artistic-1.0 +Version: 1.06 +Release: 0 %define cpan_name Params-Util Summary: Simple, compact and correct param-checking functions -Url: http://search.cpan.org/dist/Params-Util/ +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl +Url: http://search.cpan.org/dist/Params-Util/ Source: http://www.cpan.org/authors/id/A/AD/ADAMK/%{cpan_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(ExtUtils::CBuilder) >= 0.27 +#BuildRequires: perl(A) +#BuildRequires: perl(Params::Util) %{perl_requires} %description @@ -75,11 +76,8 @@ %perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf %{buildroot} - %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes LICENSE README +%doc Changes LICENSE MYMETA.json README %changelog ++++++ Params-Util-1.04.tar.gz -> Params-Util-1.06.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/Changes new/Params-Util-1.06/Changes --- old/Params-Util-1.04/Changes 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/Changes 2012-03-01 13:39:39.000000000 +0100 @@ -1,5 +1,13 @@ Revision history for Perl extension Params-Util +1.06 Thu 1 Mar 2012 + - Remove the need for the sanexs.c file by generating into a temp + file instead. + +1.05 Thu 1 Mar 2012 + - Restore compatibility with pre-5.8.8 Perls without a working + compiler available install time (RIBASUSHI) + 1.04 Wed 20 Apr 2011 - Fixed #67522 have_compiler returns diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/LICENSE new/Params-Util-1.06/LICENSE --- old/Params-Util-1.04/LICENSE 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/LICENSE 2012-03-01 13:39:39.000000000 +0100 @@ -8,266 +8,286 @@ ---------------------------------------------------------------------------- -The General Public License (GPL) -Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 -Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, -Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute -verbatim copies of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share -and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software--to make sure the -software is free for all its users. This General Public License applies to most of -the Free Software Foundation's software and to any other program whose -authors commit to using it. (Some other Free Software Foundation software is -covered by the GNU Library General Public License instead.) You can apply it to + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to your programs, too. -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom -to distribute copies of free software (and charge for this service if you wish), that -you receive source code or can get it if you want it, that you can change the -software or use pieces of it in new free programs; and that you know you can do -these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny -you these rights or to ask you to surrender the rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a -fee, you must give the recipients all the rights that you have. You must make -sure that they, too, receive or can get the source code. And you must show -them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer -you this license which gives you legal permission to copy, distribute and/or -modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If the -software is modified by someone else and passed on, we want its recipients to -know that what they have is not the original, so that any problems introduced by -others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish -to avoid the danger that redistributors of a free program will individually obtain -patent licenses, in effect making the program proprietary. To prevent this, we -have made it clear that any patent must be licensed for everyone's free use or -not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -GNU GENERAL PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND -MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms of -this General Public License. The "Program", below, refers to any such program -or work, and a "work based on the Program" means either the Program or any -derivative work under copyright law: that is to say, a work containing the -Program or a portion of it, either verbatim or with modifications and/or translated -into another language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by -this License; they are outside its scope. The act of running the Program is not -restricted, and the output from the Program is covered only if its contents -constitute a work based on the Program (independent of having been made by -running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as -you receive it, in any medium, provided that you conspicuously and appropriately -publish on each copy an appropriate copyright notice and disclaimer of warranty; -keep intact all the notices that refer to this License and to the absence of any -warranty; and give any other recipients of the Program a copy of this License + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License along with the Program. -You may charge a fee for the physical act of transferring a copy, and you may at -your option offer warranty protection in exchange for a fee. +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such -modifications or work under the terms of Section 1 above, provided that you also -meet all of these conditions: - -a) You must cause the modified files to carry prominent notices stating that you -changed the files and the date of any change. - -b) You must cause any work that you distribute or publish, that in whole or in -part contains or is derived from the Program or any part thereof, to be licensed -as a whole at no charge to all third parties under the terms of this License. - -c) If the modified program normally reads commands interactively when run, you -must cause it, when started running for such interactive use in the most ordinary -way, to print or display an announcement including an appropriate copyright -notice and a notice that there is no warranty (or else, saying that you provide a -warranty) and that users may redistribute the program under these conditions, -and telling the user how to view a copy of this License. (Exception: if the -Program itself is interactive but does not normally print such an announcement, -your work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be reasonably -considered independent and separate works in themselves, then this License, -and its terms, do not apply to those sections when you distribute them as -separate works. But when you distribute the same sections as part of a whole -which is a work based on the Program, the distribution of the whole must be on -the terms of this License, whose permissions for other licensees extend to the + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. -Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or -distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 and 2 -above provided that you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source -code, which must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange; or, - -b) Accompany it with a written offer, valid for at least three years, to give any -third party, for a charge no more than your cost of physically performing source -distribution, a complete machine-readable copy of the corresponding source -code, to be distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange; or, - -c) Accompany it with the information you received as to the offer to distribute -corresponding source code. (This alternative is allowed only for noncommercial -distribution and only if you received the program in object code or executable -form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all the -source code for all modules it contains, plus any associated interface definition -files, plus the scripts used to control compilation and installation of the -executable. However, as a special exception, the source code distributed need -not include anything that is normally distributed (in either source or binary form) -with the major components (compiler, kernel, and so on) of the operating system -on which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the source -code from the same place counts as distribution of the source code, even though -third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense or distribute the Program is void, and will automatically terminate -your rights under this License. However, parties who have received copies, or -rights, from you under this License will not have their licenses terminated so long -as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. -However, nothing else grants you permission to modify or distribute the Program -or its derivative works. These actions are prohibited by law if you do not accept -this License. Therefore, by modifying or distributing the Program (or any work -based on the Program), you indicate your acceptance of this License to do so, -and all its terms and conditions for copying, distributing or modifying the -Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), -the recipient automatically receives a license from the original licensor to copy, -distribute or modify the Program subject to these terms and conditions. You -may not impose any further restrictions on the recipients' exercise of the rights -granted herein. You are not responsible for enforcing compliance by third parties -to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement -or for any other reason (not limited to patent issues), conditions are imposed on -you (whether by court order, agreement or otherwise) that contradict the -conditions of this License, they do not excuse you from the conditions of this -License. If you cannot distribute so as to satisfy simultaneously your obligations -under this License and any other pertinent obligations, then as a consequence -you may not distribute the Program at all. For example, if a patent license would -not permit royalty-free redistribution of the Program by all those who receive -copies directly or indirectly through you, then the only way you could satisfy -both it and this License would be to refrain entirely from distribution of the -Program. - -If any portion of this section is held invalid or unenforceable under any particular -circumstance, the balance of the section is intended to apply and the section as -a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other -property right claims or to contest validity of any such claims; this section has -the sole purpose of protecting the integrity of the free software distribution -system, which is implemented by public license practices. Many people have -made generous contributions to the wide range of software distributed through -that system in reliance on consistent application of that system; it is up to the -author/donor to decide if he or she is willing to distribute software through any -other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries -either by patents or by copyrighted interfaces, the original copyright holder who -places the Program under this License may add an explicit geographical -distribution limitation excluding those countries, so that distribution is permitted -only in or among countries not thus excluded. In such case, this License -incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the -General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems or -concerns. - -Each version is given a distinguishing version number. If the Program specifies a -version number of this License which applies to it and "any later version", you -have the option of following the terms and conditions either of that version or of -any later version published by the Free Software Foundation. If the Program does -not specify a version number of this License, you may choose any version ever -published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, -write to the Free Software Foundation; we sometimes make exceptions for this. -Our decision will be guided by the two goals of preserving the free status of all -derivatives of our free software and of promoting the sharing and reuse of -software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS -NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE -COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM -"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR -IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR -CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED -TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY -WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY -OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. -END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS ---------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/MANIFEST new/Params-Util-1.06/MANIFEST --- old/Params-Util-1.04/MANIFEST 2011-04-20 09:15:53.000000000 +0200 +++ new/Params-Util-1.06/MANIFEST 2012-03-01 13:40:07.000000000 +0100 @@ -3,8 +3,8 @@ LICENSE Makefile.PL MANIFEST This list of files +MYMETA.json README -sanexs.c t/01_compile.t t/02_main.t t/03_all.t @@ -35,4 +35,5 @@ xt/meta.t xt/pmv.t xt/pod.t -META.yml Module meta-data (added by MakeMaker) +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/META.json new/Params-Util-1.06/META.json --- old/Params-Util-1.04/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Params-Util-1.06/META.json 2012-03-01 13:40:07.000000000 +0100 @@ -0,0 +1,45 @@ +{ + "abstract" : "Simple, compact and correct param-checking functions", + "author" : [ + "Adam Kennedy <[email protected]>" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Params-Util", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "6.52", + "File::Spec" : "0.80", + "Test::More" : "0.42" + } + }, + "configure" : { + "requires" : { + "ExtUtils::CBuilder" : "0.27", + "ExtUtils::MakeMaker" : "6.52" + } + }, + "runtime" : { + "requires" : { + "Scalar::Util" : "1.18", + "perl" : "5.00503" + } + } + }, + "release_status" : "stable", + "version" : "1.06" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/META.yml new/Params-Util-1.06/META.yml --- old/Params-Util-1.04/META.yml 2011-04-20 09:15:53.000000000 +0200 +++ new/Params-Util-1.06/META.yml 2012-03-01 13:40:07.000000000 +0100 @@ -1,26 +1,26 @@ ---- #YAML:1.0 -name: Params-Util -version: 1.04 -abstract: Simple, compact and correct param-checking functions +--- +abstract: 'Simple, compact and correct param-checking functions' author: - - Adam Kennedy <[email protected]> -license: perl -distribution_type: module -configure_requires: - ExtUtils::CBuilder: 0.27 - ExtUtils::MakeMaker: 6.52 + - 'Adam Kennedy <[email protected]>' build_requires: - ExtUtils::MakeMaker: 6.52 - File::Spec: 0.80 - Test::More: 0.42 -requires: - perl: 5.00503 - Scalar::Util: 1.18 -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.56 + ExtUtils::MakeMaker: 6.52 + File::Spec: 0.80 + Test::More: 0.42 +configure_requires: + ExtUtils::CBuilder: 0.27 + ExtUtils::MakeMaker: 6.52 +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621' +license: perl meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Params-Util +no_index: + directory: + - t + - inc +requires: + Scalar::Util: 1.18 + perl: 5.00503 +version: 1.06 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/MYMETA.json new/Params-Util-1.06/MYMETA.json --- old/Params-Util-1.04/MYMETA.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Params-Util-1.06/MYMETA.json 2012-03-01 13:40:00.000000000 +0100 @@ -0,0 +1,45 @@ +{ + "abstract" : "Simple, compact and correct param-checking functions", + "author" : [ + "Adam Kennedy <[email protected]>" + ], + "dynamic_config" : 0, + "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Params-Util", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "6.52", + "File::Spec" : "0.80", + "Test::More" : "0.42" + } + }, + "configure" : { + "requires" : { + "ExtUtils::CBuilder" : "0.27", + "ExtUtils::MakeMaker" : "6.52" + } + }, + "runtime" : { + "requires" : { + "Scalar::Util" : "1.18", + "perl" : "5.00503" + } + } + }, + "release_status" : "stable", + "version" : "1.06" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/Makefile.PL new/Params-Util-1.06/Makefile.PL --- old/Params-Util-1.04/Makefile.PL 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/Makefile.PL 2012-03-01 13:39:39.000000000 +0100 @@ -1,5 +1,7 @@ -use 5.00503; use strict; +BEGIN { + require 5.00503; +} use Config; use ExtUtils::MakeMaker (); @@ -68,7 +70,7 @@ 'ExtUtils::CBuilder' => '0.27', }, PREREQ_PM => { - 'Scalar::Util' => '1.18', + 'Scalar::Util' => $make_xs ? '1.18' : '1.10', }, BUILD_REQUIRES => { 'ExtUtils::MakeMaker' => '6.52', @@ -99,26 +101,28 @@ # Modified from eumm-upgrade by Alexandr Ciornii. sub WriteMakefile { - my %params=@_; - my $eumm_version=$ExtUtils::MakeMaker::VERSION; - $eumm_version=eval $eumm_version; - die "EXTRA_META is deprecated" if exists $params{EXTRA_META}; - die "License not specified" unless exists $params{LICENSE}; - if ( $params{BUILD_REQUIRES} and $eumm_version < 6.5503 ) { - #EUMM 6.5502 has problems with BUILD_REQUIRES - $params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} }; - delete $params{BUILD_REQUIRES}; - } - delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52; - delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48; - delete $params{META_MERGE} if $eumm_version < 6.46; - delete $params{META_ADD} if $eumm_version < 6.46; - delete $params{LICENSE} if $eumm_version < 6.31; - delete $params{AUTHOR} if $] < 5.005; - delete $params{ABSTRACT_FROM} if $] < 5.005; - delete $params{BINARY_LOCATION} if $] < 5.005; - - ExtUtils::MakeMaker::WriteMakefile(%params); + my %params=@_; + my $eumm_version=$ExtUtils::MakeMaker::VERSION; + $eumm_version=eval $eumm_version; + die "EXTRA_META is deprecated" if exists $params{EXTRA_META}; + die "License not specified" unless exists $params{LICENSE}; + if ( $params{BUILD_REQUIRES} and $eumm_version < 6.5503 ) { + #EUMM 6.5502 has problems with BUILD_REQUIRES + $params{PREREQ_PM} = { + %{$params{PREREQ_PM} || {}}, + %{$params{BUILD_REQUIRES}}, + }; + delete $params{BUILD_REQUIRES}; + } + delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52; + delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48; + delete $params{META_MERGE} if $eumm_version < 6.46; + delete $params{META_ADD} if $eumm_version < 6.46; + delete $params{LICENSE} if $eumm_version < 6.31; + delete $params{AUTHOR} if $] < 5.005; + delete $params{ABSTRACT_FROM} if $] < 5.005; + delete $params{BINARY_LOCATION} if $] < 5.005; + ExtUtils::MakeMaker::WriteMakefile(%params); } # Secondary compile testing via ExtUtils::CBuilder @@ -141,9 +145,34 @@ # Lack of a compiler at all return 0; } + + + # Write a C file representative of what XS becomes + require File::Temp; + my ( $FH, $tmpfile ) = File::Temp::tempfile( + "sanexs-XXXXX", + SUFFIX => '.c', + ); + binmode $FH; + print $FH <<'END_C'; +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +int main(int argc, char **argv) { + return 0; +} + +int boot_sanexs() { + return 1; +} + +END_C + close $FH; + eval { $object = $builder->compile( - source => 'sanexs.c', + source => $tmpfile, ); @libs = $builder->link( objects => $object, @@ -151,7 +180,7 @@ ); }; my $broken = !! $@; - foreach ( $object, @libs ) { + foreach ( $tmpfile, $object, @libs ) { next unless defined $_; 1 while unlink $_; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/README new/Params-Util-1.06/README --- old/Params-Util-1.04/README 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/README 2012-03-01 13:39:39.000000000 +0100 @@ -98,6 +98,11 @@ Returns the string as a convenience if it is a valid class name, or "undef" if not. + _CLASSDOES $string, $role + This routine behaves exactly like "_CLASSISA", but checks with "->DOES" + rather than "->isa". This is probably only a good idea to use on Perl + 5.10 or later, when UNIVERSAL::DOES has been implemented. + _SUBCLASS $string, $class The "_SUBCLASS" function is intended to be imported into your package, and provides a convenient way to test to see if a value is a string that @@ -288,6 +293,11 @@ Returns the object itself as a convenience, or "undef" if the value provided is not an object of that type. + _INSTANCEDOES $object, $role + This routine behaves exactly like "_INSTANCE", but checks with "->DOES" + rather than "->isa". This is probably only a good idea to use on Perl + 5.10 or later, when UNIVERSAL::DOES has been implemented. + _REGEX $value The "_REGEX" function is intended to be imported into your package, and provides a convenient way to test for a regular expression. @@ -378,7 +388,7 @@ Params::Validate COPYRIGHT - Copyright 2005 - 2011 Adam Kennedy. + Copyright 2005 - 2012 Adam Kennedy. 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/Params-Util-1.04/lib/Params/Util.pm new/Params-Util-1.06/lib/Params/Util.pm --- old/Params-Util-1.04/lib/Params/Util.pm 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/lib/Params/Util.pm 2012-03-01 13:39:39.000000000 +0100 @@ -64,20 +64,20 @@ use vars qw{$VERSION @ISA @EXPORT_OK %EXPORT_TAGS}; -$VERSION = '1.04'; +$VERSION = '1.06'; @ISA = qw{ Exporter DynaLoader }; @EXPORT_OK = qw{ _STRING _IDENTIFIER - _CLASS _CLASSISA _SUBCLASS _DRIVER + _CLASS _CLASSISA _SUBCLASS _DRIVER _CLASSDOES _NUMBER _POSINT _NONNEGINT _SCALAR _SCALAR0 _ARRAY _ARRAY0 _ARRAYLIKE _HASH _HASH0 _HASHLIKE _CODE _CODELIKE - _INVOCANT _REGEX _INSTANCE + _INVOCANT _REGEX _INSTANCE _INSTANCEDOES _SET _SET0 _HANDLE }; @@ -89,6 +89,30 @@ 1; } unless $ENV{PERL_PARAMS_UTIL_PP}; +# Use a private pure-perl copy of looks_like_number if the version of +# Scalar::Util is old (for whatever reason). +my $SU = eval "$Scalar::Util::VERSION" || 0; +if ( $SU >= 1.18 ) { + Scalar::Util->import('looks_like_number'); +} else { + eval <<'END_PERL'; +sub looks_like_number { + local $_ = shift; + + # checks from perlfaq4 + return 0 if !defined($_); + if (ref($_)) { + return overload::Overloaded($_) ? defined(0 + $_) : 0; + } + return 1 if (/^[+-]?[0-9]+$/); # is a +/- integer + return 1 if (/^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/); # a C float + return 1 if ($] >= 5.008 and /^(Inf(inity)?|NaN)$/i) or ($] >= 5.006001 and /^Inf$/i); + + 0; +} +END_PERL +} + @@ -195,6 +219,21 @@ } END_PERL +=head2 _CLASSDOES $string, $role + +This routine behaves exactly like C<L</_CLASSISA>>, but checks with C<< ->DOES +>> rather than C<< ->isa >>. This is probably only a good idea to use on Perl +5.10 or later, when L<UNIVERSAL::DOES|UNIVERSAL::DOES/DOES> has been +implemented. + +=cut + +eval <<'END_PERL' unless defined &_CLASSDOES; +sub _CLASSDOES ($$) { + (defined $_[0] and ! ref $_[0] and $_[0] =~ m/^[^\W\d]\w*(?:::\w+)*\z/s and $_[0]->DOES($_[1])) ? $_[0] : undef; +} +END_PERL + =pod =head2 _SUBCLASS $string, $class @@ -239,7 +278,7 @@ eval <<'END_PERL' unless defined &_NUMBER; sub _NUMBER ($) { - ( defined $_[0] and ! ref $_[0] and Scalar::Util::looks_like_number($_[0]) ) + ( defined $_[0] and ! ref $_[0] and looks_like_number($_[0]) ) ? $_[0] : undef; } @@ -585,6 +624,21 @@ } END_PERL +=head2 _INSTANCEDOES $object, $role + +This routine behaves exactly like C<L</_INSTANCE>>, but checks with C<< ->DOES +>> rather than C<< ->isa >>. This is probably only a good idea to use on Perl +5.10 or later, when L<UNIVERSAL::DOES|UNIVERSAL::DOES/DOES> has been +implemented. + +=cut + +eval <<'END_PERL' unless defined &_INSTANCEDOES; +sub _INSTANCEDOES ($$) { + (Scalar::Util::blessed($_[0]) and $_[0]->DOES($_[1])) ? $_[0] : undef; +} +END_PERL + =pod =head2 _REGEX $value @@ -801,7 +855,7 @@ =head1 COPYRIGHT -Copyright 2005 - 2011 Adam Kennedy. +Copyright 2005 - 2012 Adam Kennedy. 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/Params-Util-1.04/sanexs.c new/Params-Util-1.06/sanexs.c --- old/Params-Util-1.04/sanexs.c 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/sanexs.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -int main(int argc, char **argv) { - return 0; -} - -int boot_sanexs() { - return 1; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/01_compile.t new/Params-Util-1.06/t/01_compile.t --- old/Params-Util-1.04/t/01_compile.t 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/t/01_compile.t 2012-03-01 13:39:39.000000000 +0100 @@ -16,5 +16,5 @@ # Double check that Scalar::Util is valid require_ok( 'Scalar::Util' ); -ok( $Scalar::Util::VERSION >= 1.18, 'Scalar::Util version is at least 1.18' ); +ok( $Scalar::Util::VERSION >= 1.10, 'Scalar::Util version is at least 1.18' ); ok( defined &Scalar::Util::refaddr, 'Scalar::Util has a refaddr implementation' ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/02_main.t new/Params-Util-1.06/t/02_main.t --- old/Params-Util-1.04/t/02_main.t 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/t/02_main.t 2012-03-01 13:39:39.000000000 +0100 @@ -7,7 +7,7 @@ $ENV{PERL_PARAMS_UTIL_PP} ||= 0; } -use Test::More tests => 612; +use Test::More tests => 632; use File::Spec::Functions ':ALL'; use Scalar::Util 'refaddr'; use Params::Util (); @@ -744,7 +744,19 @@ } +SKIP: { + use_ok( 'Params::Util', '_INSTANCEDOES' ); + skip "DOES tests do not make sense on perls before 5.10", 19 + unless $] >= 5.010; + + null( _INSTANCEDOES(bless({},'Bad'), 'Foo'), '_INSTANCEDOES(bad object) returns undef' ); + + foreach my $object ( @objects ) { + ok( _INSTANCEDOES($object, 'Foo'), '_INSTANCEDOES(object, class) returns true when expected' ); + is( refaddr(_INSTANCEDOES($object, 'Foo')), refaddr($object), '_INSTANCEDOES(object, class) returns the same object' ); + } +} ##################################################################### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/08_driver.t new/Params-Util-1.06/t/08_driver.t --- old/Params-Util-1.04/t/08_driver.t 2011-04-20 09:15:25.000000000 +0200 +++ new/Params-Util-1.06/t/08_driver.t 2012-03-01 13:39:39.000000000 +0100 @@ -7,7 +7,7 @@ $ENV{PERL_PARAMS_UTIL_PP} ||= 0; } -use Test::More tests => 86; +use Test::More tests => 91; use File::Spec::Functions ':ALL'; BEGIN { ok( ! defined &_CLASSISA, '_CLASSISA does not exist' ); @@ -113,3 +113,15 @@ is( _SUBCLASS('D', 'A'), 'D', 'D: Broken driver is undef' ); is( _SUBCLASS('E', 'A'), undef, 'E: Not a driver returns undef' ); is( _SUBCLASS('F', 'A'), 'F', 'F: Faked isa returns ok' ); + +SKIP: { + use_ok('Params::Util', qw(_CLASSDOES)); + + skip "DOES tests do not make sense on perls before 5.10", 4 + unless $] >= 5.010; + + is( _CLASSDOES('A', 'A'), 'A', 'A: DOES A' ); + is( _CLASSDOES('My_B', 'A'), 'My_B', 'My_B: DOES A' ); + is( _CLASSDOES('E', 'A'), undef, 'E: DOES not A' ); + is( _CLASSDOES('F', 'A'), 'F', 'F: DOES A' ); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/11_compile.t new/Params-Util-1.06/t/11_compile.t --- old/Params-Util-1.04/t/11_compile.t 2011-04-20 09:15:49.000000000 +0200 +++ new/Params-Util-1.06/t/11_compile.t 2012-03-01 13:40:00.000000000 +0100 @@ -16,5 +16,5 @@ # Double check that Scalar::Util is valid require_ok( 'Scalar::Util' ); -ok( $Scalar::Util::VERSION >= 1.18, 'Scalar::Util version is at least 1.18' ); +ok( $Scalar::Util::VERSION >= 1.10, 'Scalar::Util version is at least 1.18' ); ok( defined &Scalar::Util::refaddr, 'Scalar::Util has a refaddr implementation' ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/12_main.t new/Params-Util-1.06/t/12_main.t --- old/Params-Util-1.04/t/12_main.t 2011-04-20 09:15:49.000000000 +0200 +++ new/Params-Util-1.06/t/12_main.t 2012-03-01 13:40:00.000000000 +0100 @@ -7,7 +7,7 @@ $ENV{PERL_PARAMS_UTIL_PP} ||= 1; } -use Test::More tests => 612; +use Test::More tests => 632; use File::Spec::Functions ':ALL'; use Scalar::Util 'refaddr'; use Params::Util (); @@ -744,7 +744,19 @@ } +SKIP: { + use_ok( 'Params::Util', '_INSTANCEDOES' ); + skip "DOES tests do not make sense on perls before 5.10", 19 + unless $] >= 5.010; + + null( _INSTANCEDOES(bless({},'Bad'), 'Foo'), '_INSTANCEDOES(bad object) returns undef' ); + + foreach my $object ( @objects ) { + ok( _INSTANCEDOES($object, 'Foo'), '_INSTANCEDOES(object, class) returns true when expected' ); + is( refaddr(_INSTANCEDOES($object, 'Foo')), refaddr($object), '_INSTANCEDOES(object, class) returns the same object' ); + } +} ##################################################################### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Util-1.04/t/18_driver.t new/Params-Util-1.06/t/18_driver.t --- old/Params-Util-1.04/t/18_driver.t 2011-04-20 09:15:49.000000000 +0200 +++ new/Params-Util-1.06/t/18_driver.t 2012-03-01 13:40:00.000000000 +0100 @@ -7,7 +7,7 @@ $ENV{PERL_PARAMS_UTIL_PP} ||= 1; } -use Test::More tests => 86; +use Test::More tests => 91; use File::Spec::Functions ':ALL'; BEGIN { ok( ! defined &_CLASSISA, '_CLASSISA does not exist' ); @@ -113,3 +113,15 @@ is( _SUBCLASS('D', 'A'), 'D', 'D: Broken driver is undef' ); is( _SUBCLASS('E', 'A'), undef, 'E: Not a driver returns undef' ); is( _SUBCLASS('F', 'A'), 'F', 'F: Faked isa returns ok' ); + +SKIP: { + use_ok('Params::Util', qw(_CLASSDOES)); + + skip "DOES tests do not make sense on perls before 5.10", 4 + unless $] >= 5.010; + + is( _CLASSDOES('A', 'A'), 'A', 'A: DOES A' ); + is( _CLASSDOES('My_B', 'A'), 'My_B', 'My_B: DOES A' ); + is( _CLASSDOES('E', 'A'), undef, 'E: DOES not A' ); + is( _CLASSDOES('F', 'A'), 'F', 'F: DOES A' ); +} -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
