Hello community,
here is the log from the commit of package perl-Devel-Declare for
openSUSE:Factory checked in at 2013-06-09 16:54:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-Declare (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-Declare"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-Declare/perl-Devel-Declare.changes
2011-12-27 18:14:01.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Devel-Declare.new/perl-Devel-Declare.changes
2013-06-09 16:54:50.000000000 +0200
@@ -1,0 +2,22 @@
+Tue Jun 4 08:19:44 UTC 2013 - [email protected]
+
+- updated to 0.006011
+ - In XS, use PERL_NO_GET_CONTEXT for efficiency.
+ - Avoid using Test::Warn, which has previously been a troublesome
+ dependency.
+
+ - Fix workaround for unexported core symbols to avoid breaking
+ compilation on non-threading builds of Perl 5.8.
+ - Set permissions on .perldb file created during test, to avoid
+ "insecure rcfile" warning.
+
+ - Be adaptive about whether to delete the line reallocation filter,
+ so as to play as nicely as possible with other kinds of source filter.
+ - Document that injecting newlines doesn't work.
+ - Fix a C declaration after statement, which broke compatibility with
+ older compilers (Jan Dubois).
+ - Partially work around unexported core symbols affecting Perl 5.8 on
+ Windows (David Bouyssie).
+ - Jump through some hoops to avoid compiler warnings.
+
+-------------------------------------------------------------------
Old:
----
Devel-Declare-0.006008.tar.gz
New:
----
Devel-Declare-0.006011.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-Declare.spec ++++++
--- /var/tmp/diff_new_pack.oXSPbS/_old 2013-06-09 16:54:51.000000000 +0200
+++ /var/tmp/diff_new_pack.oXSPbS/_new 2013-06-09 16:54:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Devel-Declare
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 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
@@ -15,8 +15,9 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: perl-Devel-Declare
-Version: 0.006008
+Version: 0.006011
Release: 0
%define cpan_name Devel-Declare
Summary: Adding keywords to perl, in perl
@@ -32,7 +33,6 @@
BuildRequires: perl(ExtUtils::Depends) >= 0.302
BuildRequires: perl(Sub::Name)
BuildRequires: perl(Test::More) >= 0.88
-BuildRequires: perl(Test::Warn)
#BuildRequires: perl(Devel::CallParser)
#BuildRequires: perl(Devel::Declare)
#BuildRequires: perl(Devel::Declare::Context::Simple)
++++++ Devel-Declare-0.006008.tar.gz -> Devel-Declare-0.006011.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/Changes
new/Devel-Declare-0.006011/Changes
--- old/Devel-Declare-0.006008/Changes 2011-11-05 22:52:05.000000000 +0100
+++ new/Devel-Declare-0.006011/Changes 2012-02-22 21:35:00.000000000 +0100
@@ -1,5 +1,26 @@
Changes for Devel-Declare
+0.006011 - 22 Feb 2012
+ - In XS, use PERL_NO_GET_CONTEXT for efficiency.
+ - Avoid using Test::Warn, which has previously been a troublesome
+ dependency.
+
+0.006010 - 07 Feb 2012
+ - Fix workaround for unexported core symbols to avoid breaking
+ compilation on non-threading builds of Perl 5.8.
+ - Set permissions on .perldb file created during test, to avoid
+ "insecure rcfile" warning.
+
+0.006009 - 01 Feb 2012
+ - Be adaptive about whether to delete the line reallocation filter,
+ so as to play as nicely as possible with other kinds of source filter.
+ - Document that injecting newlines doesn't work.
+ - Fix a C declaration after statement, which broke compatibility with
+ older compilers (Jan Dubois).
+ - Partially work around unexported core symbols affecting Perl 5.8 on
+ Windows (David Bouyssie).
+ - Jump through some hoops to avoid compiler warnings.
+
0.006008 - 05 Nov 2011
- Adjust toke_scan_str logic to always leave the prefix part of
linestr unchanged.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/Declare.xs
new/Devel-Declare-0.006011/Declare.xs
--- old/Devel-Declare-0.006008/Declare.xs 2011-11-05 22:47:29.000000000
+0100
+++ new/Devel-Declare-0.006011/Declare.xs 2012-02-22 21:28:32.000000000
+0100
@@ -1,3 +1,4 @@
+#define PERL_NO_GET_CONTEXT 1
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
@@ -63,6 +64,7 @@
HV* is_declarator_pack_hash;
SV** is_declarator_flag_ref;
int dd_flags;
+ char* curstash_name;
is_declarator = get_hv("Devel::Declare::declarators", FALSE);
@@ -71,11 +73,12 @@
/* $declarators{$current_package_name} */
- if (!HvNAME(PL_curstash))
+ curstash_name = HvNAME(PL_curstash);
+ if (!curstash_name)
return -1;
- is_declarator_pack_ref = hv_fetch(is_declarator, HvNAME(PL_curstash),
- strlen(HvNAME(PL_curstash)), FALSE);
+ is_declarator_pack_ref = hv_fetch(is_declarator, curstash_name,
+ strlen(curstash_name), FALSE);
if (!is_declarator_pack_ref || !SvROK(*is_declarator_pack_ref))
return -1; /* not a hashref */
@@ -149,14 +152,17 @@
PL_bufend = SvPVX(PL_linestr) + new_len;
if ( DD_DEBUG_UPDATED_LINESTR && PERLDB_LINE && PL_curstash != PL_debstash) {
- // Cribbed from toke.c
- SV * const sv = NEWSV(85,0);
-
- sv_upgrade(sv, SVt_PVMG);
- sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr);
- (void)SvIOK_on(sv);
- SvIV_set(sv, 0);
- av_store(CopFILEAV(&PL_compiling),(I32)CopLINE(&PL_compiling),sv);
+ /* Cribbed from toke.c */
+ AV *fileav = CopFILEAV(&PL_compiling);
+ if (fileav) {
+ SV * const sv = NEWSV(85,0);
+
+ sv_upgrade(sv, SVt_PVMG);
+ sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr);
+ (void)SvIOK_on(sv);
+ SvIV_set(sv, 0);
+ av_store(fileav,(I32)CopLINE(&PL_compiling),sv);
+ }
}
}
@@ -352,7 +358,7 @@
const char* s;
SV *sv;
#ifdef PERL_5_9_PLUS
- SV *saved_hh;
+ SV *saved_hh = NULL;
if (PL_op->op_private & OPpEVAL_HAS_HH) {
saved_hh = POPs;
}
@@ -394,9 +400,23 @@
static I32 dd_filter_realloc(pTHX_ int idx, SV *sv, int maxlen)
{
+ SV *filter_datasv;
const I32 count = FILTER_READ(idx+1, sv, maxlen);
SvGROW(sv, DD_PREFERRED_LINESTR_SIZE);
- /* filter_del(dd_filter_realloc); */
+ /* Filters can only be deleted in the correct order (reverse of the
+ order in which they were added). Insisting on deleting the filter
+ here would break if another filter were added after ours and is
+ still around. Not deleting the filter at all would break if another
+ filter were added earlier and attempts to delete itself later.
+ We can play nicely to the maximum possible extent by deleting our
+ filter iff it is currently deletable (i.e., it is on the top of
+ the filter stack). Can still run into trouble in more complex
+ situations, but can't avoid that. */
+ if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0 &&
+ (filter_datasv = FILTER_DATA(AvFILLp(PL_rsfp_filters))) &&
+ IoANY(filter_datasv) == FPTR2DPTR(void *, dd_filter_realloc)) {
+ filter_del(dd_filter_realloc);
+ }
return count;
}
@@ -490,13 +510,15 @@
if (!initialized) {
initialized = 1;
#if DD_GROW_VIA_BLOCKHOOK
- static BHK bhk;
+ {
+ static BHK bhk;
#if PERL_VERSION_GE(5,13,6)
- BhkENTRY_set(&bhk, bhk_start, dd_block_start);
+ BhkENTRY_set(&bhk, bhk_start, dd_block_start);
#else /* <5.13.6 */
- BhkENTRY_set(&bhk, start, dd_block_start);
+ BhkENTRY_set(&bhk, start, dd_block_start);
#endif /* <5.13.6 */
- Perl_blockhook_register(aTHX_ &bhk);
+ Perl_blockhook_register(aTHX_ &bhk);
+ }
#else /* !DD_GROW_VIA_BLOCKHOOK */
hook_op_check(OP_ENTEREVAL, dd_ck_entereval, NULL);
#endif /* !DD_GROW_VIA_BLOCKHOOK */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/MANIFEST
new/Devel-Declare-0.006011/MANIFEST
--- old/Devel-Declare-0.006008/MANIFEST 2011-09-12 20:50:32.000000000 +0200
+++ new/Devel-Declare-0.006011/MANIFEST 2012-02-01 22:37:55.000000000 +0100
@@ -28,6 +28,8 @@
t/early2.t
t/eval.t
t/fail.t
+t/filter0.t
+t/filter1.t
t/lines.t
t/load_module.t
t/methinstaller-simple.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/META.yml
new/Devel-Declare-0.006011/META.yml
--- old/Devel-Declare-0.006008/META.yml 2011-11-05 22:53:36.000000000 +0100
+++ new/Devel-Declare-0.006011/META.yml 2012-02-22 21:35:22.000000000 +0100
@@ -6,7 +6,6 @@
B::Hooks::OP::Check: 0.19
ExtUtils::MakeMaker: 6.62
Test::More: 0.88
- Test::Warn: 0
configure_requires:
B::Hooks::OP::Check: 0.19
ExtUtils::Depends: 0.302
@@ -32,4 +31,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: git://github.com/rafl/devel-declare.git
-version: 0.006008
+version: 0.006011
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/Makefile.PL
new/Devel-Declare-0.006011/Makefile.PL
--- old/Devel-Declare-0.006008/Makefile.PL 2011-09-11 12:07:11.000000000
+0200
+++ new/Devel-Declare-0.006011/Makefile.PL 2012-02-21 23:38:57.000000000
+0100
@@ -21,7 +21,6 @@
configure_requires 'B::Hooks::OP::Check' => '0.19';
test_requires 'Test::More' => '0.88';
-test_requires 'Test::Warn';
repository 'git://github.com/rafl/devel-declare.git';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/README
new/Devel-Declare-0.006011/README
--- old/Devel-Declare-0.006008/README 2011-11-05 22:53:40.000000000 +0100
+++ new/Devel-Declare-0.006011/README 2012-02-22 21:35:27.000000000 +0100
@@ -177,7 +177,10 @@
"set_linestr"
This builtin sets the full text of the current line of the source
- document.
+ document. Beware that injecting a newline into the middle of the line is
+ likely to fail in surprising ways. Generally, Perl's parser can rely on
+ the `current line' actually being only a single line. Use other kinds of
+ whitespace instead, in the code that you inject.
"skipspace"
This parser skips whitsepace.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Devel-Declare-0.006008/lib/Devel/Declare/Context/Simple.pm
new/Devel-Declare-0.006011/lib/Devel/Declare/Context/Simple.pm
--- old/Devel-Declare-0.006008/lib/Devel/Declare/Context/Simple.pm
2011-11-05 22:52:18.000000000 +0100
+++ new/Devel-Declare-0.006011/lib/Devel/Declare/Context/Simple.pm
2012-02-22 21:34:29.000000000 +0100
@@ -6,7 +6,7 @@
use B::Hooks::EndOfScope;
use Carp qw/confess/;
-our $VERSION = '0.006008';
+our $VERSION = '0.006011';
sub new {
my $class = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Devel-Declare-0.006008/lib/Devel/Declare/MethodInstaller/Simple.pm
new/Devel-Declare-0.006011/lib/Devel/Declare/MethodInstaller/Simple.pm
--- old/Devel-Declare-0.006008/lib/Devel/Declare/MethodInstaller/Simple.pm
2011-11-05 22:52:21.000000000 +0100
+++ new/Devel-Declare-0.006011/lib/Devel/Declare/MethodInstaller/Simple.pm
2012-02-22 21:34:31.000000000 +0100
@@ -7,7 +7,7 @@
use strict;
use warnings;
-our $VERSION = '0.006008';
+our $VERSION = '0.006011';
sub install_methodhandler {
my $class = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/lib/Devel/Declare.pm
new/Devel-Declare-0.006011/lib/Devel/Declare.pm
--- old/Devel-Declare-0.006008/lib/Devel/Declare.pm 2011-11-05
22:52:14.000000000 +0100
+++ new/Devel-Declare-0.006011/lib/Devel/Declare.pm 2012-02-22
21:34:25.000000000 +0100
@@ -4,7 +4,7 @@
use warnings;
use 5.008001;
-our $VERSION = '0.006008';
+our $VERSION = '0.006011';
use constant DECLARE_NAME => 1;
use constant DECLARE_PROTO => 2;
@@ -471,6 +471,10 @@
=head4 C<set_linestr>
This builtin sets the full text of the current line of the source document.
+Beware that injecting a newline into the middle of the line is likely
+to fail in surprising ways. Generally, Perl's parser can rely on the
+`current line' actually being only a single line. Use other kinds of
+whitespace instead, in the code that you inject.
=head3 C<skipspace>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/stolen_chunk_of_toke.c
new/Devel-Declare-0.006011/stolen_chunk_of_toke.c
--- old/Devel-Declare-0.006008/stolen_chunk_of_toke.c 2011-09-10
23:13:54.000000000 +0200
+++ new/Devel-Declare-0.006011/stolen_chunk_of_toke.c 2012-02-07
14:49:58.000000000 +0100
@@ -108,6 +108,20 @@
#define PERL_5_9_PLUS
#endif
+#if !defined(PERL_5_9_PLUS) && defined(PERL_IMPLICIT_CONTEXT)
+/* These two are not exported from the core on Windows. With 5.9+
+ it's not an issue, because they're part of the PL_parser structure,
+ which is exported. On multiplicity/thread builds we can work
+ around the lack of export by this formulation, where we provide
+ a substitute implementation of the unexported accessor functions.
+ On single-interpreter builds we can't, because access is directly
+ via symbols that are not exported. */
+# define Perl_Ilinestart_ptr my_Ilinestart_ptr
+char **my_Ilinestart_ptr(pTHX) { return &(aTHX->Ilinestart); }
+# define Perl_Isublex_info_ptr my_Isublex_info_ptr
+static SUBLEXINFO *my_Isublex_info_ptr(pTHX) { return &(aTHX->Isublex_info); }
+#endif
+
#ifdef PERL_5_9_PLUS
/* 5.9+ moves a bunch of things to a PL_parser struct so we need to
declare the backcompat macros for things to still work (mst) */
@@ -284,7 +298,7 @@
SSize_t oldprevlen, oldoldprevlen;
SSize_t oldloplen = 0, oldunilen = 0;
while (s < PL_bufend && isSPACE(*s)) {
- if (*s++ == '\n' && ((incline == 2) || PL_in_eval && !PL_rsfp &&
!incline))
+ if (*s++ == '\n' && ((incline == 2) || (PL_in_eval && !PL_rsfp &&
!incline)))
incline(s);
}
@@ -385,13 +399,15 @@
* so store the line into the debugger's array of lines
*/
if (PERLDB_LINE && PL_curstash != PL_debstash) {
- SV * const sv = NEWSV(85,0);
-
- sv_upgrade(sv, SVt_PVMG);
- sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr);
- (void)SvIOK_on(sv);
- SvIV_set(sv, 0);
- av_store(CopFILEAV(PL_curcop),(I32)CopLINE(PL_curcop),sv);
+ AV *fileav = CopFILEAV(PL_curcop);
+ if (fileav) {
+ SV * const sv = NEWSV(85,0);
+ sv_upgrade(sv, SVt_PVMG);
+ sv_setpvn(sv,PL_bufptr,PL_bufend-PL_bufptr);
+ (void)SvIOK_on(sv);
+ SvIV_set(sv, 0);
+ av_store(fileav,(I32)CopLINE(PL_curcop),sv);
+ }
}
}
}
@@ -815,13 +831,15 @@
/* update debugger info */
if (PERLDB_LINE && PL_curstash != PL_debstash) {
- SV *sv = NEWSV(88,0);
-
- sv_upgrade(sv, SVt_PVMG);
- sv_setsv(sv,PL_linestr);
- (void)SvIOK_on(sv);
- SvIV_set(sv, 0);
- av_store(CopFILEAV(PL_curcop), (I32)CopLINE(PL_curcop), sv);
+ AV *fileav = CopFILEAV(PL_curcop);
+ if (fileav) {
+ SV *sv = NEWSV(88,0);
+ sv_upgrade(sv, SVt_PVMG);
+ sv_setsv(sv,PL_linestr);
+ (void)SvIOK_on(sv);
+ SvIV_set(sv, 0);
+ av_store(fileav, (I32)CopLINE(PL_curcop), sv);
+ }
}
/* having changed the buffer, we must update PL_bufend */
@@ -863,39 +881,6 @@
return s;
}
-/*
- * S_force_next
- * When the lexer realizes it knows the next token (for instance,
- * it is reordering tokens for the parser) then it can call S_force_next
- * to know what token to return the next time the lexer is called. Caller
- * will need to set PL_nextval[], and possibly PL_expect to ensure the lexer
- * handles the token correctly.
- */
-
-STATIC void
-S_force_next(pTHX_ I32 type)
-{
-#ifdef PERL_MAD
- dVAR;
- if (PL_curforce < 0)
- start_force(PL_lasttoke);
- PL_nexttoke[PL_curforce].next_type = type;
- if (PL_lex_state != LEX_KNOWNEXT)
- PL_lex_defer = PL_lex_state;
- PL_lex_state = LEX_KNOWNEXT;
- PL_lex_expect = PL_expect;
- PL_curforce = -1;
-#else
- PL_nexttype[PL_nexttoke] = type;
- PL_nexttoke++;
- if (PL_lex_state != LEX_KNOWNEXT) {
- PL_lex_defer = PL_lex_state;
- PL_lex_expect = PL_expect;
- PL_lex_state = LEX_KNOWNEXT;
- }
-#endif
-}
-
#define XFAKEBRACK 128
STATIC char *
@@ -961,12 +946,10 @@
if (*s == '{') {
bracket = s;
s++;
+ } else if (ck_uni) {
+ /* we always call this with ck_uni == 0, so no need for check_uni() */
+ /* check_uni(); */
}
- /* we always call this with ck_uni == 0 (rafl) */
- /*
- else if (ck_uni)
- check_uni();
- */
if (s < send)
*d = *s++;
d[1] = '\0';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/t/debug.t
new/Devel-Declare-0.006011/t/debug.t
--- old/Devel-Declare-0.006008/t/debug.t 2011-09-10 23:13:54.000000000
+0200
+++ new/Devel-Declare-0.006011/t/debug.t 2012-02-07 14:55:46.000000000
+0100
@@ -17,6 +17,7 @@
cwd("$Bin/..");
# Write a .perldb file so we make sure we dont use the users one
+umask 077;
open PERLDB, ">", "$Bin/../.perldb" or die "Cannot open $Bin/../.perldb: $!";
close PERLDB;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/t/filter0.t
new/Devel-Declare-0.006011/t/filter0.t
--- old/Devel-Declare-0.006008/t/filter0.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Devel-Declare-0.006011/t/filter0.t 2012-02-01 22:00:21.000000000
+0100
@@ -0,0 +1,25 @@
+use warnings;
+use strict;
+
+BEGIN {
+ eval { require Filter::Util::Call };
+ if($@ ne "") {
+ require Test::More;
+ Test::More::plan(skip_all => "Filter::Util::Call unavailable");
+ }
+}
+
+use Devel::Declare ();
+use Filter::Util::Call qw(filter_add filter_del);
+use Test::More tests => 2;
+
+sub my_quote($) { $_[0] }
+
+my $i = 0;
+
+BEGIN { Devel::Declare->setup_for(__PACKAGE__, { my_quote => { const => sub {
} } }); }
+BEGIN { filter_add(sub { filter_del(); $_ .= "ok \$i++ == 0;"; return 1; }); }
+
+ok $i++ == 1;
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/t/filter1.t
new/Devel-Declare-0.006011/t/filter1.t
--- old/Devel-Declare-0.006008/t/filter1.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Devel-Declare-0.006011/t/filter1.t 2012-02-01 22:00:36.000000000
+0100
@@ -0,0 +1,25 @@
+use warnings;
+use strict;
+
+BEGIN {
+ eval { require Filter::Util::Call };
+ if($@ ne "") {
+ require Test::More;
+ Test::More::plan(skip_all => "Filter::Util::Call unavailable");
+ }
+}
+
+use Devel::Declare ();
+use Filter::Util::Call qw(filter_add filter_del);
+use Test::More tests => 2;
+
+sub my_quote($) { $_[0] }
+
+my $i = 0;
+
+BEGIN { filter_add(sub { filter_del(); $_ .= "ok \$i++ == 0;"; return 1; }); }
+BEGIN { Devel::Declare->setup_for(__PACKAGE__, { my_quote => { const => sub {
} } }); }
+
+ok $i++ == 1;
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-Declare-0.006008/t/method-installer-redefine.t
new/Devel-Declare-0.006011/t/method-installer-redefine.t
--- old/Devel-Declare-0.006008/t/method-installer-redefine.t 2011-09-10
23:13:54.000000000 +0200
+++ new/Devel-Declare-0.006011/t/method-installer-redefine.t 2012-02-21
23:38:49.000000000 +0100
@@ -1,7 +1,6 @@
use strict;
use warnings;
-use Test::More tests => 4;
-use Test::Warn;
+use Test::More tests => 5;
use Devel::Declare::MethodInstaller::Simple;
BEGIN {
@@ -25,18 +24,20 @@
$_[0]->method
}
-use Test::Warn;
-
ok(main->can('foo'), 'foo() installed at runtime');
-warnings_like {
- method foo {
- $_[0]->method;
- }
-} qr/redefined/;
-
-warnings_are {
- method_quiet foo {
- $_[0]->method;
- }
-} [], 'no warnings';
+my @warnings;
+$SIG{__WARN__} = sub { push @warnings, $_[0] };
+
+@warnings = ();
+method foo {
+$_[0]->method;
+}
+is scalar(@warnings), 1;
+like $warnings[0], qr/redefined/;
+
+@warnings = ();
+method_quiet foo {
+$_[0]->method;
+}
+is_deeply \@warnings, [];
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]