r64403 - in /branches/upstream/libdata-show-perl: ./ current/ current/lib/ current/lib/Data/ current/t/

carnil at users.alioth.debian.org carnil at users.alioth.debian.org
Fri Oct 29 17:47:10 UTC 2010


Author: carnil
Date: Fri Oct 29 17:46:48 2010
New Revision: 64403

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=64403
Log:
[svn-inject] Installing original source of libdata-show-perl (0.001002)

Added:
    branches/upstream/libdata-show-perl/
    branches/upstream/libdata-show-perl/current/
    branches/upstream/libdata-show-perl/current/Build.PL
    branches/upstream/libdata-show-perl/current/Changes
    branches/upstream/libdata-show-perl/current/MANIFEST
    branches/upstream/libdata-show-perl/current/META.yml
    branches/upstream/libdata-show-perl/current/Makefile.PL
    branches/upstream/libdata-show-perl/current/README
    branches/upstream/libdata-show-perl/current/lib/
    branches/upstream/libdata-show-perl/current/lib/Data/
    branches/upstream/libdata-show-perl/current/lib/Data/Show.pm
    branches/upstream/libdata-show-perl/current/t/
    branches/upstream/libdata-show-perl/current/t/00.load.t
    branches/upstream/libdata-show-perl/current/t/pod.t
    branches/upstream/libdata-show-perl/current/t/show.t

Added: branches/upstream/libdata-show-perl/current/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/Build.PL?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/Build.PL (added)
+++ branches/upstream/libdata-show-perl/current/Build.PL Fri Oct 29 17:46:48 2010
@@ -1,0 +1,18 @@
+use strict;
+use warnings;
+use Module::Build;
+
+my $builder = Module::Build->new(
+    module_name         => 'Data::Show',
+    license             => 'perl',
+    dist_author         => 'Damian Conway <DCONWAY at CPAN.org>',
+    dist_version_from   => 'lib/Data/Show.pm',
+    requires => {
+        'Test::More' => 0,
+        'Data::Dump' => 1.17,
+        'version'    => 0,
+    },
+    add_to_cleanup      => [ 'Data-Show-*' ],
+);
+
+$builder->create_build_script();

Added: branches/upstream/libdata-show-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/Changes?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/Changes (added)
+++ branches/upstream/libdata-show-perl/current/Changes Fri Oct 29 17:46:48 2010
@@ -1,0 +1,17 @@
+Revision history for Data-Show
+
+0.0.1  Fri Mar  5 06:38:03 2010
+       Initial release.
+
+
+
+0.001001  Tue Jun 22 06:14:58 2010
+          No changes logged
+
+
+0.001002  Sun Oct 10 19:04:25 2010
+
+    - Patched distribution to track changes in Data::Dump 1.17
+      (thanks Christopher)
+
+    - Improved recognition of hashes and arrays at the end of a block

Added: branches/upstream/libdata-show-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/MANIFEST?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/MANIFEST (added)
+++ branches/upstream/libdata-show-perl/current/MANIFEST Fri Oct 29 17:46:48 2010
@@ -1,0 +1,10 @@
+Build.PL
+Changes
+MANIFEST
+Makefile.PL
+README
+lib/Data/Show.pm
+t/00.load.t
+t/pod.t
+t/show.t
+META.yml                                 Module meta-data (added by MakeMaker)

Added: branches/upstream/libdata-show-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/META.yml?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/META.yml (added)
+++ branches/upstream/libdata-show-perl/current/META.yml Fri Oct 29 17:46:48 2010
@@ -1,0 +1,16 @@
+--- #YAML:1.0
+name:                Data-Show
+version:             0.001002
+abstract:            Dump data structures with name and point-of-origin
+license:             ~
+author:              
+    - Damian Conway <DCONWAY at CPAN.org>
+generated_by:        ExtUtils::MakeMaker version 6.42
+distribution_type:   module
+requires:     
+    Data::Dump:                    1.17
+    Test::More:                    0
+    version:                       0
+meta-spec:
+    url:     http://module-build.sourceforge.net/META-spec-v1.3.html
+    version: 1.3

Added: branches/upstream/libdata-show-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/Makefile.PL?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/Makefile.PL (added)
+++ branches/upstream/libdata-show-perl/current/Makefile.PL Fri Oct 29 17:46:48 2010
@@ -1,0 +1,18 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    NAME                => 'Data::Show',
+    AUTHOR              => 'Damian Conway <DCONWAY at CPAN.org>',
+    VERSION_FROM        => 'lib/Data/Show.pm',
+    ABSTRACT_FROM       => 'lib/Data/Show.pm',
+    PL_FILES            => {},
+    PREREQ_PM => {
+        'Test::More' => 0,
+        'Data::Dump' => 1.17,
+        'version'    => 0,
+    },
+    dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+    clean               => { FILES => 'Data-Show-*' },
+);

Added: branches/upstream/libdata-show-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/README?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/README (added)
+++ branches/upstream/libdata-show-perl/current/README Fri Oct 29 17:46:48 2010
@@ -1,0 +1,33 @@
+Data::Show version 0.001002
+
+    Wrapper around Data::Dump to provide better context information
+
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+	perl Makefile.PL
+	make
+	make test
+	make install
+
+Alternatively, to install with Module::Build, you can use the following commands:
+
+	perl Build.PL
+	./Build
+	./Build test
+	./Build install
+
+
+DEPENDENCIES
+
+None.
+
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2010, Damian Conway
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.

Added: branches/upstream/libdata-show-perl/current/lib/Data/Show.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/lib/Data/Show.pm?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/lib/Data/Show.pm (added)
+++ branches/upstream/libdata-show-perl/current/lib/Data/Show.pm Fri Oct 29 17:46:48 2010
@@ -1,0 +1,328 @@
+package Data::Show;
+
+use warnings;
+use strict;
+use Data::Dump 'dump';
+use 5.010;
+
+our $VERSION = '0.001002';
+
+# Unconditionally export show()...
+sub import {
+    no strict 'refs';
+    *{caller().'::show'} = \&show;
+}
+
+
+# Useful patterns...
+
+my $IDENT = qr{
+    [^\W\d]\w* (?: :: [^\W\d]\w* )* | [_\W]
+}xms;
+
+my $CODE = qr{
+        (?&CODE_FRAGMENT)
+
+        (?(DEFINE)
+            (?<CODE_FRAGMENT>
+                (?: (?&QUOTED)
+                  | (?: q[qxr]?+ | [msy] | tr ) \s* <DELIMITED>
+                  | (?&NESTED)
+                  | [%\$\@] (?: (?&BRACE_DELIMS) | $IDENT )
+                  | [^][{}()"'`;]
+                )++
+            )
+
+            (?<NESTED_CODE_FRAGMENT>
+                (?: (?&QUOTED)
+                  | (?: q[qxr]?+ | [msy] | tr ) \s* (?&DELIMITED)
+                  | (?&NESTED)
+                  | [^][{}()"'`]
+                )++
+            )
+
+            (?<QUOTED>
+                   " [^\\"]++ (?: \\. [^\\"]++ )*  "
+                |  ' [^\\']++ (?: \\. [^\\']++ )*  '
+                |  ` [^\\`]++ (?: \\. [^\\`]++ )*  `
+                |  / [^\\/]++ (?: \\. [^\\/]++ )*  /
+                | \? [^\\?]++ (?: \\. [^\\?]++ )* \?
+            )
+
+            (?<DELIMITED>
+                  (?&BRACE_DELIMS)
+                | (?&PAREN_DELIMS)
+                | (?&ANGLE_DELIMS)
+                | (?&SQUARE_DELIMS)
+                | \s++ (?<DELIM_W>\w) (?:\\.|(?!\g{DELIM_W}).)*+ \g{DELIM_W}
+                |      (?<DELIM_S>\S) (?:\\.|(?!\g{DELIM_S}).)*+ \g{DELIM_S}
+            )
+
+            (?<NESTED>
+                  \( (?&NESTED_CODE_FRAGMENT) \)
+                | \[ (?&NESTED_CODE_FRAGMENT) \]
+                | \{ (?&NESTED_CODE_FRAGMENT) \}
+                | \< (?&NESTED_CODE_FRAGMENT) \>
+            )
+
+            (?<BRACE_DELIMS>   \{ (?: [^{}] | \\. | (?&BRACE_DELIMS)  )*+ \} )
+            (?<PAREN_DELIMS>   \( (?: [^()] | \\. | (?&PAREN_DELIMS)  )*+ \) )
+            (?<ANGLE_DELIMS>   \< (?: [^<>] | \\. | (?&ANGLE_DELIMS)  )*+ \> )
+            (?<SQUARE_DELIMS>  \[ (?: [^][] | \\. | (?&SQUARE_DELIMS) )*+ \] )
+        )
+}xms;
+
+
+# Configuration for layout of representation...
+my $DEFAULT_INDENT = 4;
+my $MAX_WIDTH      = 72;
+my $TITLE_POS      = 6;
+
+# The whole point of the module...
+sub show {
+
+    # Determine context...
+    my (undef, $file, $line) = caller();
+
+    # Extract description of arglist from context...
+    my $desc;
+    if (open my $fh, '<', $file) {
+        for (1..$line-1) { readline($fh) // last }
+        $desc = do { local $/; readline $fh; };
+    }
+
+    # Trim filename and format context info and description...
+    $file =~ s{.*/}{}xms;
+    my $context = "'$file', line $line";
+    $desc //= $context;
+
+    # Isolate arg list and compress internal whitespace...
+    $desc =~ s{ \A .*? \b show \b \s* ($CODE) \s* (?: [;\}] .* | \Z ) }{$1}xms;
+    $desc =~ s{\s+}{ }gxms;
+
+    # Serialize Contextual::Return::Value objects (which break dump())...
+    for my $arg (@_) {
+        if ((ref($arg)||q{}) =~ m{\A Contextual::Return}xms) {
+            require Contextual::Return;
+            Contextual::Return::FREEZE($arg);
+        }
+    }
+
+    # Serialize argument (restoring it, if it was inappropriately flattened)...
+    my $representation;
+    given ($desc) {
+        when (m{ \A \@ $IDENT \s* \Z }xms) { $representation = dump \@_; }
+        when (m{ \A \% $IDENT \s* \Z }xms) { $representation = dump {@_};}
+        default                            { $representation = dump @_;  }
+    }
+
+    # Indent representation wrt heading...
+    $representation =~ s{^}{ q{ } x $DEFAULT_INDENT }gxmse;
+
+    # Clean up parens around title...
+    $desc =~ s{ \A \s* (?| \( \s* (.*?) \s* \) | \s* (.*?) \s* ) \Z }
+              {(  $1  )}xms;
+
+    # Insert title into header...
+    my $header = '=' x $MAX_WIDTH;
+    substr($header, $TITLE_POS, length($desc), $desc);
+
+    # Add context if it isn't just context...
+    if ($desc ne "(  $context  )") {
+        $context = "[ $context ]";
+        substr($header, -length($context)-$TITLE_POS, -$TITLE_POS, $context);
+    }
+
+    # Display data...
+    print {*STDERR} "$header\n\n$representation\n\n\n";
+
+    return;
+}
+
+
+1; # Magic true value required at end of module
+__END__
+
+=head1 NAME
+
+Data::Show - Dump data structures with name and point-of-origin
+
+
+=head1 VERSION
+
+This document describes Data::Show version 0.001002
+
+
+=head1 SYNOPSIS
+
+    use Data::Show;
+
+    show %foo;
+    show @bar;
+    show (
+        @bar,
+        $baz,
+    );
+    show $baz;
+    show $ref;
+    show @bar[do{1..2;}];
+    show 2*3;
+    show 'a+b';
+    show 100 * sqrt length $baz;
+    show $foo{q[;{{{]};
+
+
+=head1 DESCRIPTION
+
+This module provides a simple wrapper around the Data::Dump module.
+
+A call to C<show> data-dumps its arguments, prefaced
+by a divider line that reports the arguments and the
+file and line from which C<show()> was called.
+
+For example, the code in the L<SYNOPSIS> would produce
+something like:
+
+    ======(  %foo  )========================[ 'demo.pl', line 11 ]======
+
+        { foo => 1, food => 'b', foon => [3, 4, 5, 6, 7, 8, 9, 10] }
+
+
+    ======(  @bar  )========================[ 'demo.pl', line 12 ]======
+
+        ["b", "a", "r"]
+
+
+    ======(  @bar, $baz,  )=================[ 'demo.pl', line 13 ]======
+
+        ("b", "a", "r", "baz")
+
+
+    ======(  $baz  )========================[ 'demo.pl', line 17 ]======
+
+        "baz"
+
+
+    ======(  $ref  )========================[ 'demo.pl', line 18 ]======
+
+        ["b", "a", "r"]
+
+
+    ======(  @bar[do{1..2;}]  )=============[ 'demo.pl', line 19 ]======
+
+        ("a", "r")
+
+
+    ======(  2*3  )=========================[ 'demo.pl', line 20 ]======
+
+        6
+
+
+    ======(  'a+b'  )=======================[ 'demo.pl', line 21 ]======
+
+        "a+b"
+
+
+    ======(  100 * sqrt length $baz  )======[ 'demo.pl', line 22 ]======
+
+        "173.205080756888"
+
+
+    ======(  $foo{q[;{{{]}  )===============[ 'demo.pl', line 23 ]======
+
+        undef
+
+
+    ======(  'foo' ~~ m/;{\/{/  )===========[ 'demo.pl', line 25 ]======
+
+        ""
+
+
+=head1 INTERFACE
+
+=over
+
+=item C<show()>
+
+This is the only subroutine provided by the module.
+It is always exported.
+
+C<show()> can be called with any number of arguments and data-dumps them
+all with a suitable header indicating the arguments' names, and the file
+and line from which C<show()> was called.
+
+C<show()> does not return a useful value.
+
+=back
+
+
+=head1 DIAGNOSTICS
+
+None, apart from those provided by Data::Dump;
+
+
+=head1 CONFIGURATION AND ENVIRONMENT
+
+Data::Show requires no configuration files or environment variables.
+
+
+=head1 DEPENDENCIES
+
+Only works under Perl 5.10 and later.
+
+Requires the Data::Dump module.
+
+
+=head1 INCOMPATIBILITIES
+
+None reported.
+
+
+=head1 BUGS AND LIMITATIONS
+
+Uses sophisticated regexes to parse out the argument list from the
+source. Hence subject to the usual limitations of this technique
+(namely, that it may get the argument list wrong occasionally).
+
+No bugs have been reported.
+
+Please report any bugs or feature requests to
+C<bug-data-show at rt.cpan.org>, or through the web interface at
+L<http://rt.cpan.org>.
+
+
+=head1 AUTHOR
+
+Damian Conway  C<< <DCONWAY at CPAN.org> >>
+
+
+=head1 LICENCE AND COPYRIGHT
+
+Copyright (c) 2010, Damian Conway C<< <DCONWAY at CPAN.org> >>. All rights reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See L<perlartistic>.
+
+
+=head1 DISCLAIMER OF WARRANTY
+
+BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE SOFTWARE "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 SOFTWARE IS WITH
+YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+NECESSARY SERVICING, REPAIR, OR CORRECTION.
+
+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 SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
+LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
+THE SOFTWARE (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 SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.

Added: branches/upstream/libdata-show-perl/current/t/00.load.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/t/00.load.t?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/t/00.load.t (added)
+++ branches/upstream/libdata-show-perl/current/t/00.load.t Fri Oct 29 17:46:48 2010
@@ -1,0 +1,7 @@
+use Test::More tests => 1;
+
+BEGIN {
+use_ok( 'Data::Show' );
+}
+
+diag( "Testing Data::Show $Data::Show::VERSION" );

Added: branches/upstream/libdata-show-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/t/pod.t?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/t/pod.t (added)
+++ branches/upstream/libdata-show-perl/current/t/pod.t Fri Oct 29 17:46:48 2010
@@ -1,0 +1,6 @@
+#!perl -T
+
+use Test::More;
+eval "use Test::Pod 1.14";
+plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
+all_pod_files_ok();

Added: branches/upstream/libdata-show-perl/current/t/show.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-show-perl/current/t/show.t?rev=64403&op=file
==============================================================================
--- branches/upstream/libdata-show-perl/current/t/show.t (added)
+++ branches/upstream/libdata-show-perl/current/t/show.t Fri Oct 29 17:46:48 2010
@@ -1,0 +1,95 @@
+#! /usr/bin/perl -w
+use 5.010;
+
+use Data::Show; use Test::More 'no_plan';
+my $STDERR; close STDERR; open *STDERR, '>', \$STDERR or die $!;
+
+my %foo = (foo => 1, food => 2, fool => 3, foop => 4, foon => [5..10]);
+my @bar = qw<b a r>;
+my $baz = 'baz';
+my $ref = \@bar;
+
+show %foo;
+show $/;
+show @bar;
+show (
+    @bar,
+    $baz,
+);
+show $baz;
+show $ref;
+show @bar[do{1..2;}];
+show 2*3;
+show 'a+b';
+show 100 * sqrt length $baz;
+show $foo{q[;{{{]};
+do {
+    show 'foo' ~~ m/;{\/{/
+};
+
+my @expected = <DATA>;
+my @got      = split "(?<=\n)", $STDERR;
+
+for my $n (0..$#expected) {
+    is $got[$n], $expected[$n] => ": $expected[$n]";
+}
+
+__DATA__
+======(  %foo  )=============================[ 'show.t', line 12 ]======
+
+    { foo => 1, food => 2, fool => 3, foon => [5 .. 10], foop => 4 }
+
+
+======(  $/  )===============================[ 'show.t', line 13 ]======
+
+    "\n"
+
+
+======(  @bar  )=============================[ 'show.t', line 14 ]======
+
+    ["b", "a", "r"]
+
+
+======(  @bar, $baz,  )======================[ 'show.t', line 15 ]======
+
+    ("b", "a", "r", "baz")
+
+
+======(  $baz  )=============================[ 'show.t', line 19 ]======
+
+    "baz"
+
+
+======(  $ref  )=============================[ 'show.t', line 20 ]======
+
+    ["b", "a", "r"]
+
+
+======(  @bar[do{1..2;}]  )==================[ 'show.t', line 21 ]======
+
+    ("a", "r")
+
+
+======(  2*3  )==============================[ 'show.t', line 22 ]======
+
+    6
+
+
+======(  'a+b'  )============================[ 'show.t', line 23 ]======
+
+    "a+b"
+
+
+======(  100 * sqrt length $baz  )===========[ 'show.t', line 24 ]======
+
+    "173.205080756888"
+
+
+======(  $foo{q[;{{{]}  )====================[ 'show.t', line 25 ]======
+
+    undef
+
+
+======(  'foo' ~~ m/;{\/{/  )================[ 'show.t', line 27 ]======
+
+    ""




More information about the Pkg-perl-cvs-commits mailing list