r75925 - in /branches/upstream/libcgi-application-plugin-configauto-perl: ./ current/ current/lib/ current/lib/CGI/ current/lib/CGI/Application/ current/lib/CGI/Application/Plugin/ current/t/

periapt-guest at users.alioth.debian.org periapt-guest at users.alioth.debian.org
Sat Jun 18 09:34:56 UTC 2011


Author: periapt-guest
Date: Sat Jun 18 09:34:52 2011
New Revision: 75925

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=75925
Log:
[svn-inject] Installing original source of libcgi-application-plugin-configauto-perl (1.33)

Added:
    branches/upstream/libcgi-application-plugin-configauto-perl/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/Build.PL
    branches/upstream/libcgi-application-plugin-configauto-perl/current/Changes
    branches/upstream/libcgi-application-plugin-configauto-perl/current/MANIFEST
    branches/upstream/libcgi-application-plugin-configauto-perl/current/META.yml
    branches/upstream/libcgi-application-plugin-configauto-perl/current/Makefile.PL
    branches/upstream/libcgi-application-plugin-configauto-perl/current/README
    branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/ConfigAuto.pm
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/TestAppBasic.pm
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic.t
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic_config.pl
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty.t
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty_config.pl
    branches/upstream/libcgi-application-plugin-configauto-perl/current/t/pod.t

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/Build.PL?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/Build.PL (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/Build.PL Sat Jun 18 09:34:52 2011
@@ -1,0 +1,16 @@
+use Module::Build;
+
+Module::Build->new(
+    module_name => 'CGI::Application::Plugin::ConfigAuto',
+    license => 'perl',
+    requires => {
+        'CGI::Application' => 0,
+        'Config::Auto'     => 0,
+        'Carp'             => 0,
+    },
+    create_makefile_pl => 'traditional',
+    create_readme => 1,
+    dist_author => 'Mark Stosberg <mark at summersault.com>',
+    dist_abstract => 'Plugin that adds Config::Auto support to CGI::Application',
+)->create_build_script;
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/Changes?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/Changes (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/Changes Sat Jun 18 09:34:52 2011
@@ -1,0 +1,46 @@
+Revision history for Perl extension CGI::Application::Plugin::ConfigAuto
+
+1.33 March 1st, 2011
+    (no meaningful code changes)
+    [DOCUMENTATION]
+    Document the recommended use of "my" in the example config file.  (Zakarias Santanu)
+
+1.32 Thu Feb 25 23:28:15 EST 2010
+    (no code changes)
+    [TESTS] 
+    Attempted test fix to address: Global symbol "%CFG" requires explicit package name
+
+1.31 Mon Jul 20 15:27:42 EDT 2009
+   [DOCUMENTATION]
+   - Fix a couple of broken documentation links (Lyle Hopkins)
+
+1.30 Sat Feb 18 23:35:44 EST 2006
+
+   - comply with CGI::Application::Config::Standard 1.0. (Mark Stosberg)
+
+1.20 Sat Jul 23 18:37:14 EST 2005
+
+    - Update recommended usage syntax.
+
+1.10
+    - Make death messages more useful by 'croaking' instead of die'ing
+    - Docs clarified (Dan Horne)
+    - die if no valid configuration is found. (William McKee)
+    - Explicit file format can now be provided for files.
+
+1.00
+    - First release on CPAN.
+    - Documentation patch (William McKee)
+
+0.21 Mon Sep  6 18:03:23 EST 2004
+    - Added missing t/basic_config.pl to distribution (William McKee)
+
+0.20 Mon Sep  6 16:24:23 EST 2004
+    - Add support for return config info as a hashref (William McKee)
+
+0.10 Mon Sep  6 12:11:08 EST 2004
+    - added cfg_file(), a simpler syntax for providing config file names.
+
+0.02 Sun Sep  5 18:47:48 EST 2004
+	- initial release
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/MANIFEST?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/MANIFEST (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/MANIFEST Sat Jun 18 09:34:52 2011
@@ -1,0 +1,13 @@
+Build.PL
+Changes
+lib/CGI/Application/Plugin/ConfigAuto.pm
+Makefile.PL
+MANIFEST
+META.yml
+README
+t/basic.t
+t/empty.t
+t/pod.t
+t/TestAppBasic.pm
+t/basic_config.pl
+t/empty_config.pl

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/META.yml?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/META.yml (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/META.yml Sat Jun 18 09:34:52 2011
@@ -1,0 +1,17 @@
+--- #YAML:1.0
+name: CGI-Application-Plugin-ConfigAuto
+version: 1.33
+author:
+  - Mark Stosberg <mark at summersault.com>
+abstract: |-
+  Plugin that adds Config::Auto support to CGI::Application
+license: perl
+requires:
+  CGI::Application: 0
+  Carp: 0
+  Config::Auto: 0
+provides:
+  CGI::Application::Plugin::ConfigAuto:
+    file: lib/CGI/Application/Plugin/ConfigAuto.pm
+    version: 1.33
+generated_by: Module::Build version 0.2611

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/Makefile.PL?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/Makefile.PL (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/Makefile.PL Sat Jun 18 09:34:52 2011
@@ -1,0 +1,15 @@
+# Note: this file was auto-generated by Module::Build::Compat version 0.03
+use ExtUtils::MakeMaker;
+WriteMakefile
+(
+          'NAME' => 'CGI::Application::Plugin::ConfigAuto',
+          'VERSION_FROM' => 'lib/CGI/Application/Plugin/ConfigAuto.pm',
+          'PREREQ_PM' => {
+                           'CGI::Application' => '0',
+                           'Carp' => '0',
+                           'Config::Auto' => '0'
+                         },
+          'INSTALLDIRS' => 'site',
+          'PL_FILES' => {}
+        )
+;

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/README?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/README (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/README Sat Jun 18 09:34:52 2011
@@ -1,0 +1,142 @@
+NAME
+    CGI::Application::Plugin::ConfigAuto - Easy config file management for
+    CGI::Application
+
+SYNOPSIS
+     use CGI::Application::Plugin::ConfigAuto (qw/cfg/);
+
+    In your instance script:
+
+     my $app = WebApp->new(PARAMS => { cfg_file => 'config.pl' });
+     $app->run();
+
+    In your application module:
+
+     sub my_run_mode {
+        my $self = shift;
+
+        # Access a config hash key directly 
+        $self->cfg('field');
+       
+        # Return config as hash
+        %CFG = $self->cfg; 
+
+     } 
+
+DESCRIPTION
+    CGI::Application::Plugin::ConfigAuto adds easy access to config file
+    variables to your CGI::Application modules. Lazy loading is used to
+    prevent the config file from being parsed if no configuration variables
+    are accessed during the request. In other words, the config file is not
+    parsed until it is actually needed. The Config::Auto package provides
+    the framework for this plugin.
+
+RATIONALE
+    "CGI::Application" promotes re-usable applications by moving a maximal
+    amount of code into modules. For an application to be fully re-usable
+    without code changes, it is also necessary to store configuration
+    variables in a separate file.
+
+    This plugin supports multiple config files for a single application,
+    allowing config files to override each other in a particular order. This
+    covers even complex cases, where you have a global config file, and
+    second local config file which overrides a few variables.
+
+    It is recommended that you to declare your config file locations in the
+    instance scripts, where it will have minimum impact on your application.
+    This technique is ideal when you intend to reuse your module to support
+    multiple configuration files. If you have an application with multiple
+    instance scripts which share a single config file, you may prefer to
+    call the plugin from the setup() method.
+
+DECLARING CONFIG FILE LOCATIONS
+     # In your instance script
+     # value can also be an arrayref of config files
+     my $app = WebApp->new(PARAMS => { cfg_file => 'config.pl' })
+
+     # OR ... 
+
+     # Pass in an array of config files, and they will be processed in order.  
+     $app->cfg_file('../../config/config.pl');
+
+    Your config files should be referenced using the syntax example above.
+    Note that the key "config_files" can be used as alternative to cfg_file.
+
+    The format is detected automatically using Config::Auto. It it known to
+    support the following formats: colon separated, space separated, equals
+    separated, XML, Perl code, and Windows INI. See that modules
+    documentation for complete details.
+
+METHODS
+  cfg()
+     # Access a config hash key directly 
+     $self->cfg('field');
+    
+     # Return config as hash
+     my %CFG = $self->cfg; 
+
+     # return as hashref
+     my $cfg_href = $self->cfg;
+    
+    A method to access project configuration variables. The config file is
+    parsed on the first call with a perl hash representation stored in
+    memory. Subsequent calls will use this version, rather than re-reading
+    the file.
+
+    In list context, it returns the configuration data as a hash. In scalar
+    context, it returns the configuration data as a hashref.
+
+  config()
+    "config()" in CGI::Application::Standard::Config is provided as an alias
+    to cfg() for compliance with CGI::Application::Standard::Config. It
+    always exported by default per the standard.
+
+  std_config()
+    "std_config()" in CGI::Application::Standard::Config is implemented to
+    comply with CGI::Application::Standard::Config. It's for developers.
+    Users can ignore it.
+
+  cfg_file()
+     # Usual
+     $self->cfg_file('my_config_file.pl');
+    
+     # Supply the first format, guess the second
+     $self->cfg_file('my_config_file.pl',{ format => 'perl' } );
+
+    Supply an array of config files, and they will be processed in order. If
+    a hash reference if found it, will be used to supply the format for the
+    previous file in the array.
+
+FILE FORMAT HINTS
+  Perl
+    Here's a simple example of my favorite config file format: Perl. Having
+    the "shebang" line at the top helps "Config::Auto" to identify it as a
+    Perl file. Also, be sure that your last statement returns a hash
+    reference.
+
+        #!/usr/bin/perl
+
+        my %CFG = ();
+
+        # directory path name
+        $CFG{DIR} = '/home/mark/www';
+
+        # website URL
+        $CFG{URL} = 'http://mark.stosberg.com/';
+
+        \%CFG;
+
+SEE ALSO
+    CGI::Application CGI::Application::Plugin::ValidateRM
+    CGI::Application::Plugin::DBH CGI::Application::Standard::Config.
+    perl(1)
+
+AUTHOR
+    Mark Stosberg "mark at summersault.com"
+
+LICENSE
+    Copyright (C) 2004 - 2011 Mark Stosberg "mark at summersault.com"
+
+    This library is free software. You can modify and or distribute it under
+    the same terms as Perl itself.
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/ConfigAuto.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/ConfigAuto.pm?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/ConfigAuto.pm (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/lib/CGI/Application/Plugin/ConfigAuto.pm Sat Jun 18 09:34:52 2011
@@ -1,0 +1,255 @@
+package CGI::Application::Plugin::ConfigAuto;
+use base 'Exporter';
+use Carp;
+use strict;
+
+our @EXPORT_OK = qw(
+    cfg_file
+    cfg
+);
+
+# For compliance with CGI::App::Standard::Config
+# we break the rule and export config and std_config by default. 
+sub import {
+  my $app = caller;
+  no strict 'refs';
+  my $full_name = $app . '::config';
+  *$full_name = \&cfg;
+
+  my $std_config_name = $app.'::std_config'; 
+  *$std_config_name = \&std_config;
+  CGI::Application::Plugin::ConfigAuto->export_to_level(1, at _);
+}
+
+
+our $VERSION = '1.33';
+
+# required by C::A::Standard::Config;
+sub std_config { return 1; }
+
+=pod 
+
+=head1 NAME
+
+CGI::Application::Plugin::ConfigAuto - Easy config file management for CGI::Application
+
+=head1 SYNOPSIS
+
+ use CGI::Application::Plugin::ConfigAuto (qw/cfg/);
+
+In your instance script:
+
+ my $app = WebApp->new(PARAMS => { cfg_file => 'config.pl' });
+ $app->run();
+
+In your application module:
+
+ sub my_run_mode {
+    my $self = shift;
+
+    # Access a config hash key directly 
+    $self->cfg('field');
+       
+    # Return config as hash
+    %CFG = $self->cfg; 
+
+ } 
+
+
+=head1 DESCRIPTION
+
+CGI::Application::Plugin::ConfigAuto adds easy access to config file variables
+to your L<CGI::Application|CGI::Application> modules.  Lazy loading is used to
+prevent the config file from being parsed if no configuration variables are
+accessed during the request.  In other words, the config file is not parsed
+until it is actually needed. The L<Config::Auto|Config::Auto> package provides
+the framework for this plugin.
+
+=head1 RATIONALE
+
+C<CGI::Application> promotes re-usable applications by moving a maximal amount
+of code into modules. For an application to be fully re-usable without code changes,
+it is also necessary to store configuration variables in a separate file.
+
+This plugin supports multiple config files for a single application, allowing
+config files to override each other in a particular order. This covers even
+complex cases, where you have a global config file, and second local config
+file which overrides a few variables.
+
+It is recommended that you to declare your config file locations in the
+instance scripts, where it will have minimum impact on your application. This
+technique is ideal when you intend to reuse your module to support multiple
+configuration files. If you have an application with multiple instance scripts
+which share a single config file, you may prefer to call the plugin from the
+setup() method.
+
+=head1 DECLARING CONFIG FILE LOCATIONS
+
+ # In your instance script
+ # value can also be an arrayref of config files
+ my $app = WebApp->new(PARAMS => { cfg_file => 'config.pl' })
+
+ # OR ... 
+
+ # Pass in an array of config files, and they will be processed in order.  
+ $app->cfg_file('../../config/config.pl');
+
+Your config files should be referenced using the syntax example above. Note
+that the key C<config_files> can be used as alternative to cfg_file.
+
+
+
+
+The format is detected automatically using L<Config::Auto|Config::Auto>. It it
+known to support the following formats: colon separated, space separated,
+equals separated, XML, Perl code, and Windows INI. See that modules
+documentation for complete details. 
+
+=head1 METHODS
+
+=head2 cfg()
+
+ # Access a config hash key directly 
+ $self->cfg('field');
+    
+ # Return config as hash
+ my %CFG = $self->cfg; 
+
+ # return as hashref
+ my $cfg_href = $self->cfg;
+    
+A method to access project configuration variables. The config
+file is parsed on the first call with a perl hash representation stored in memory.    
+Subsequent calls will use this version, rather than re-reading the file.
+
+In list context, it returns the configuration data as a hash.
+In scalar context, it returns the configuration data as a hashref.
+
+=head2 config()
+
+L<CGI::Application::Standard::Config/config()> is provided as an alias to cfg() for compliance with
+L<CGI::Application::Standard::Config>. It always exported by default per the
+standard.
+
+=head2 std_config()
+
+L<CGI::Application::Standard::Config/std_config()> is implemented to comply with L<CGI::Application::Standard::Config>. It's
+for developers. Users can ignore it. 
+
+=cut
+
+sub cfg {
+    my $self = shift;
+
+    if (!$self->{__CFG}) {
+        require Config::Auto;
+
+         unless ($self->{__CFG_FILES}) {
+             my @all_cfg_files;
+             for my $key (qw/cfg_file config_files/) {
+                 my $cfg_file = $self->param($key);
+                 if (defined $cfg_file) {
+                     push @all_cfg_files, @$cfg_file  if (ref $cfg_file eq 'ARRAY');
+                     push @all_cfg_files,  $cfg_file  if (ref \$cfg_file eq 'SCALAR');
+                 }
+             }
+ 
+             # Non-standard call syntax for mix-in happiness.
+             cfg_file($self, at all_cfg_files);
+         }
+
+        # Read in config files in the order the appear in this array.
+        my %combined_cfg;
+        for (my $i = 0; $i < scalar @{ $self->{__CFG_FILES} }; $i++) {
+            my $file = $self->{__CFG_FILES}[$i];
+            my %parms;
+            if (ref $self->{__CFG_FILES}[$i+1] eq 'HASH') {
+                %parms = %{ $self->{__CFG_FILES}[$i+1] };
+                # skip trying to process the hashref as a file name
+                $i++;
+            }
+            my $cfg = Config::Auto::parse($file, %parms);
+            %combined_cfg = (%combined_cfg, %$cfg);
+        }
+        die "No configuration found. Check your config file(s) (check the syntax if this is a perl format)." 
+            unless keys %combined_cfg;
+
+        $self->{__CFG} = \%combined_cfg;
+    }
+
+    my $cfg = $self->{__CFG};
+    my $field = shift;
+    return $cfg->{$field} if $field;
+    if (ref $cfg) {
+        return wantarray ? %$cfg : $cfg;
+    }
+}
+
+=head2 cfg_file()
+
+ # Usual
+ $self->cfg_file('my_config_file.pl');
+    
+ # Supply the first format, guess the second
+ $self->cfg_file('my_config_file.pl',{ format => 'perl' } );
+
+Supply an array of config files, and they will be processed in order.  If a
+hash reference if found it, will be used to supply the format for the previous
+file in the array.
+
+=cut
+
+sub cfg_file {
+    my $self = shift;
+    my @cfg_files = @_;
+    unless (scalar @cfg_files) { croak "cfg_file: must have at least one config file." }
+    $self->{__CFG_FILES} = \@cfg_files;
+}
+
+
+1;
+__END__
+
+=pod
+
+=head1 FILE FORMAT HINTS
+
+=head2  Perl
+
+Here's a simple example of my favorite config file format: Perl.
+Having the "shebang" line at the top helps C<Config::Auto> to identify
+it as a Perl file. Also, be sure that your last statement returns a 
+hash reference.
+
+    #!/usr/bin/perl
+
+    my %CFG = ();
+
+    # directory path name
+    $CFG{DIR} = '/home/mark/www';
+
+    # website URL
+    $CFG{URL} = 'http://mark.stosberg.com/';
+
+    \%CFG;
+
+=head1 SEE ALSO
+
+L<CGI::Application|CGI::Application> 
+L<CGI::Application::Plugin::ValidateRM|CGI::Application::Plugin::ValidateRM>
+L<CGI::Application::Plugin::DBH|CGI::Application::Plugin::DBH>
+L<CGI::Application::Standard::Config|CGI::Application::Standard::Config>.
+perl(1)
+
+=head1 AUTHOR
+
+Mark Stosberg C<< mark at summersault.com >>
+
+=head1 LICENSE
+
+Copyright (C) 2004 - 2011 Mark Stosberg C<< mark at summersault.com >>
+
+This library is free software. You can modify and or distribute it under the same terms as Perl itself.
+
+=cut
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/TestAppBasic.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/TestAppBasic.pm?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/TestAppBasic.pm (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/TestAppBasic.pm Sat Jun 18 09:34:52 2011
@@ -1,0 +1,24 @@
+package TestAppBasic;
+
+use strict;
+
+use CGI::Application;
+ at TestAppBasic::ISA = qw(CGI::Application);
+
+use CGI::Application::Plugin::ConfigAuto (qw/cfg cfg_file/);
+
+sub setup {
+    my $self = shift;
+
+    $self->start_mode('test_mode');
+
+    $self->run_modes(test_mode => 'test_mode' );
+}
+
+sub test_mode {
+  my $self = shift;
+  return 1;
+}
+
+
+1;

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic.t?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic.t (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic.t Sat Jun 18 09:34:52 2011
@@ -1,0 +1,42 @@
+use Test::More qw/no_plan/;
+BEGIN { use_ok('CGI::Application::Plugin::ConfigAuto') };
+
+use lib './t';
+use strict;
+
+$ENV{CGI_APP_RETURN_ONLY} = 1;
+
+use TestAppBasic;
+my $t1_obj = TestAppBasic->new();
+   $t1_obj->cfg_file('t/basic_config.pl','t/empty_config.pl');
+my $t1_output = $t1_obj->run();
+
+is($t1_obj->config('test_key_1'),11,'config(), accessing a field directly');
+
+ok($t1_obj->std_config(), 'std_config() is present');
+
+my %cfg = $t1_obj->cfg;
+
+is($cfg{test_key_2},22,'cfg(), returning whole hash');
+
+my $href = $t1_obj->cfg;
+
+is($href->{test_key_2},22,'cfg(), returning hashref');
+
+is($t1_obj->cfg->{test_key_2},22,'cfg(), accessing hash key directly via hashref');
+
+###
+
+my $t2_obj = TestAppBasic->new();
+   $t2_obj->cfg_file('t/basic_config.pl', {format => 'wrong'} );
+   eval { $t2_obj->cfg };
+ok($@,'death expected if cfg file format is wrong');
+
+   $t2_obj->cfg_file('t/basic_config.pl', {format => 'perl'} );
+   eval { $t2_obj->cfg };
+   is($@,'', 'correct file format works');
+
+   $t2_obj->cfg_file('t/empty_config.t','t/basic_config.pl', {format => 'perl'} );
+   eval { $t2_obj->cfg };
+   is($@,'', 'correct file format works with second file');
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic_config.pl
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic_config.pl?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic_config.pl (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/basic_config.pl Sat Jun 18 09:34:52 2011
@@ -1,0 +1,7 @@
+#!/usr/bin/perl
+
+my %CFG = (
+   test_key_1 => '11',  
+   test_key_2 => '22',  
+);
+\%CFG;

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty.t?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty.t (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty.t Sat Jun 18 09:34:52 2011
@@ -1,0 +1,16 @@
+use Test::More qw/no_plan/;
+BEGIN { use_ok('CGI::Application::Plugin::ConfigAuto') };
+
+use lib './t';
+use strict;
+
+$ENV{CGI_APP_RETURN_ONLY} = 1;
+
+use TestAppBasic;
+my $t1_obj = TestAppBasic->new();
+eval { $t1_obj->cfg_file('t/empty_config.pl'); 
+       $t1_obj->cfg();
+};
+
+like ($@, qr/\QNo configuration found. Check your config file(s) (check the syntax if this is a perl format)/);
+

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty_config.pl
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty_config.pl?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty_config.pl (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/empty_config.pl Sat Jun 18 09:34:52 2011
@@ -1,0 +1,3 @@
+#!/usr/bin/perl
+my %cfg;
+\%cfg;

Added: branches/upstream/libcgi-application-plugin-configauto-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libcgi-application-plugin-configauto-perl/current/t/pod.t?rev=75925&op=file
==============================================================================
--- branches/upstream/libcgi-application-plugin-configauto-perl/current/t/pod.t (added)
+++ branches/upstream/libcgi-application-plugin-configauto-perl/current/t/pod.t Sat Jun 18 09:34:52 2011
@@ -1,0 +1,28 @@
+use Test::More;
+ 
+use File::Spec;
+use File::Find;
+use strict;
+ 
+eval {
+  require Test::Pod;
+  Test::Pod->import;
+};
+ 
+my @files;
+ 
+if ($@) {
+  plan skip_all => "Test::Pod required for testing POD";
+}
+else {
+  my $blib = File::Spec->catfile(qw(blib lib));
+  find(\&wanted, $blib);
+  plan tests => scalar @files;
+  foreach my $file (@files) {
+    pod_file_ok($file);
+  }
+}
+ 
+sub wanted {
+  push @files, $File::Find::name if /\.p(l|m|od)$/;
+} 




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