You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(29) |
Oct
(11) |
Nov
|
Dec
|
2005 |
Jan
(1) |
Feb
|
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(9) |
2009 |
Jan
(153) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
Update of /cvsroot/sawa/sawa/t In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/t Modified Files: 03sawa_queue.t 04sawa_core.t 06sawa_event.t 11http_apr.t 15event_simplesub.t 16tt2.t 18pipeloader.t 19htmltemplate.t Log Message: More updates. Test suite mow passes again Index: 19htmltemplate.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/19htmltemplate.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 19htmltemplate.t 24 Dec 2008 00:21:15 -0000 1.1 --- 19htmltemplate.t 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 1,8 **** #!perl ! use Apache::Test; ! use Apache::TestUtil; ! use Apache::TestRequest qw(GET POST); ! plan tests => 2, have_module qw( LWP HTML::Template ); sub test_prompt { --- 1,7 ---- #!perl ! use Test::More; ! use SAWA::Test::Request qw( GET POST ); ! plan tests => 2; sub test_prompt { *************** *** 42,46 **** } ! ok( test_prompt(),1, "Testing Simple Get" ); ! ok( test_complete(),1,"Testing TT2 Param Post" ); --- 41,45 ---- } ! ok( test_prompt() == 1, "Testing Simple Get" ); ! ok( test_complete() == 1, "Testing HTMLTemplate Param Post" ); Index: 15event_simplesub.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/15event_simplesub.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 15event_simplesub.t 21 Sep 2004 08:39:22 -0000 1.1 --- 15event_simplesub.t 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 1,6 **** #!perl ! use Apache::Test; ! use Apache::TestUtil; ! use Apache::TestRequest 'GET'; plan tests => 3; --- 1,5 ---- #!perl ! use Test::More; ! use SAWA::Test::Request qw( GET ); plan tests => 3; *************** *** 57,61 **** } ! ok( test_nostate(),1, "Basic output, no state" ); ! ok( test_stateone(),1, "Basic output, state one" ); ! ok( test_allstates(),1, "Basic output, all states" ); --- 56,60 ---- } ! ok( test_nostate() == 1, "Basic output, no state" ); ! ok( test_stateone() == 1, "Basic output, state one" ); ! ok( test_allstates() == 1, "Basic output, all states" ); Index: 11http_apr.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/11http_apr.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 11http_apr.t 21 Sep 2004 08:39:22 -0000 1.3 --- 11http_apr.t 24 Jan 2009 21:21:37 -0000 1.4 *************** *** 1,9 **** #!perl ! use Apache::Test; ! use Apache::TestUtil; use Data::Dumper; - use Apache::TestRequest qw(GET GET_BODY); ! plan tests => 6, have_module qw( Apache::Request ); sub test_get { --- 1,8 ---- #!perl ! use Test::More; ! use SAWA::Test::Request qw( GET POST ); use Data::Dumper; ! plan tests => 6; sub test_get { *************** *** 86,93 **** } ! ok( test_get(),1, "Testing Simple Get" ); ! ok( test_cookie(),1, "Testing Cookies Header" ); ! ok( test_multicookie(),1, "Testing Multiple Cookies Header" ); ! ok( test_headers(),1, "Testing outgoing headers" ); ! ok( test_redirect(),1, "Testing redrection" ); ! ok( test_redirect_cookie(),1, "Testing redirection /w cookie" ); --- 85,92 ---- } ! ok( test_get() == 1, "Testing Simple Get" ); ! ok( test_cookie() == 1, "Testing Cookies Header" ); ! ok( test_multicookie() == 1, "Testing Multiple Cookies Header" ); ! ok( test_headers() == 1, "Testing outgoing headers" ); ! ok( test_redirect() == 1, "Testing redrection" ); ! ok( test_redirect_cookie() == 1, "Testing redirection /w cookie" ); Index: 18pipeloader.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/18pipeloader.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 18pipeloader.t 13 Oct 2004 15:16:46 -0000 1.1 --- 18pipeloader.t 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 1,6 **** #!perl ! use Apache::Test; ! use Apache::TestUtil; ! use Apache::TestRequest 'GET'; plan tests => 4; --- 1,5 ---- #!perl ! use Test::More; ! use SAWA::Test::Request qw( GET ); plan tests => 4; *************** *** 40,45 **** } ! ok( test_add_handler(),1, "Adding a handler" ); ! ok( test_add_handler_chain(),1, "Adding a handler that adds a handler" ); ! ok( test_add_next_handler_chain(),1, "Adding a handler that adds a handler in between" ); ! ok( test_reset_handlers(),1, "Resetting the pipeline in the middle" ); --- 39,44 ---- } ! ok( test_add_handler() == 1, "Adding a handler" ); ! ok( test_add_handler_chain() == 1, "Adding a handler that adds a handler"); ! ok( test_add_next_handler_chain() == 1, "Adding a handler that adds a handler in between"); ! ok( test_reset_handlers() == 1, "Resetting the pipeline in the middle" ); Index: 03sawa_queue.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/03sawa_queue.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 03sawa_queue.t 24 Jan 2009 10:22:10 -0000 1.3 --- 03sawa_queue.t 24 Jan 2009 21:21:37 -0000 1.4 *************** *** 13,17 **** sub priority1 { return 'priority1' } sub only_I_will_run_now { return 'only_I_will_run_now' }; - sub init # initialize needed things.. --- 13,16 ---- Index: 16tt2.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/16tt2.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 16tt2.t 25 Sep 2004 02:16:27 -0000 1.2 --- 16tt2.t 24 Jan 2009 21:21:37 -0000 1.3 *************** *** 1,8 **** #!perl ! use Apache::Test; ! use Apache::TestUtil; ! use Apache::TestRequest qw(GET POST); ! plan tests => 2, have_module qw( LWP Template ); sub test_prompt { --- 1,7 ---- #!perl ! use Test::More; ! use SAWA::Test::Request qw( GET POST ); ! plan tests => 2; sub test_prompt { *************** *** 42,46 **** } ! ok( test_prompt(),1, "Testing Simple Get" ); ! ok( test_complete(),1,"Testing TT2 Param Post" ); --- 41,45 ---- } ! ok( test_prompt() == 1, "Testing Simple Get" ); ! ok( test_complete() == 1, "Testing TT2 Param Post" ); Index: 04sawa_core.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/04sawa_core.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 04sawa_core.t 6 May 2006 00:16:33 -0000 1.5 --- 04sawa_core.t 24 Jan 2009 21:21:37 -0000 1.6 *************** *** 6,20 **** use warnings; use Test::More qw/ no_plan /; ! use SAWA; use SAWA::Constants; ! sub test_event { return 'test_event' } ! sub test_event1 { return 'test_event1' } ! sub test_event2 { return 'test_event2' } ! sub priority1 { return 'priority1' } ! sub only_I_will_run_now { return 'only_I_will_run_now' }; # initialize needed things.. ! my $self = SAWA->new(); my @list = qw/ test_event test_event1 test_event2 priority1 only_I_will_run_now /; --- 6,20 ---- use warnings; use Test::More qw/ no_plan /; ! use SAWA::Machine; use SAWA::Constants; ! sub test_event { return OK } ! sub test_event1 { return OK } ! sub test_event2 { return OK } ! sub priority1 { return OK } ! sub only_I_will_run_now { return OK } # initialize needed things.. ! my $self = SAWA::Machine->new(); my @list = qw/ test_event test_event1 test_event2 priority1 only_I_will_run_now /; Index: 06sawa_event.t =================================================================== RCS file: /cvsroot/sawa/sawa/t/06sawa_event.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 06sawa_event.t 22 Feb 2004 10:23:14 -0000 1.2 --- 06sawa_event.t 24 Jan 2009 21:21:37 -0000 1.3 *************** *** 9,18 **** use SAWA::Constants; ! sub test_event { return OK } sub test_event1 { return OK } sub test_event2 { return OK } sub priority1 { return OK } sub only_I_will_run_now { return OK }; ! # initialize needed things.. my $self = SAWA::Event->new(); --- 9,18 ---- use SAWA::Constants; ! sub test_event { return OK } sub test_event1 { return OK } sub test_event2 { return OK } sub priority1 { return OK } sub only_I_will_run_now { return OK }; ! sub init_symbols { return OK }; # initialize needed things.. my $self = SAWA::Event->new(); |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:42
|
Update of /cvsroot/sawa/sawa/lib/SAWA/Test In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/lib/SAWA/Test Modified Files: MM.pm Log Message: More updates. Test suite mow passes again Index: MM.pm =================================================================== RCS file: /cvsroot/sawa/sawa/lib/SAWA/Test/MM.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MM.pm 24 Jan 2009 11:47:55 -0000 1.1 --- MM.pm 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 22,32 **** # my $octd = File::Spec->rel2abs( 'bin/octd' ); - my $pidfile = File::Spec->rel2abs( 't/logs/octd.pid' ); - my $logfile = File::Spec->rel2abs( 't/logs/octd.log' ); my $appsdir = File::Spec->rel2abs( 't/apps' ); my $host = 'localhost'; my $port = 8529; $ENV{'OCTD_SERVER'} = "http://$host:$port"; eval { --- 22,37 ---- # my $octd = File::Spec->rel2abs( 'bin/octd' ); my $appsdir = File::Spec->rel2abs( 't/apps' ); + my $logdir = File::Spec->rel2abs( 't/logs' ); + my $pidfile = $logdir . '/octd.pid'; + my $logfile = $logdir . '/octd.log'; + my $host = 'localhost'; my $port = 8529; $ENV{'OCTD_SERVER'} = "http://$host:$port"; + unless ( -d $logdir ) { + mkdir $logdir || die "Could not create Test Server log directory '$logdir': $! \n"; + } eval { |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/lib In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/lib Modified Files: SAWA.pm Log Message: More updates. Test suite mow passes again Index: SAWA.pm =================================================================== RCS file: /cvsroot/sawa/sawa/lib/SAWA.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** SAWA.pm 24 Jan 2009 11:47:55 -0000 1.13 --- SAWA.pm 24 Jan 2009 21:21:37 -0000 1.14 *************** *** 86,98 **** # for example) #------------------------------------------------------------------------------- ! sub init_queue { ! return $_[0]->error->die("Your inherited class must implement an init_queue() method") ! } ! sub init_symbols { ! return $_[0]->error->die("Your inherited class must implement an init_symbols() method"); ! } ! sub handle_symbol { ! return $_[0]->error->warn("Your inherited class should implement an init_symbols() method"); } --- 86,94 ---- # for example) #------------------------------------------------------------------------------- ! sub init_queue { } ! sub init_symbols { } ! sub handle_symbol { ! return $_[0]->error->die("Your inherited class must implement an handle_symbol() method"); } *************** *** 353,601 **** =head1 NAME ! SAWA - Simple Api for Web-Applications =head1 SYNOPSIS ! use base SAWA; ! my $app = SAWA->new(); ! $app->run(); =head1 DESCRIPTION ! First of all, SAWA is Christian Glahn's prodigal child. Much of SAWA's core ! has been left as is, however, a *lot* has been refactored, the distro ! architecure has completely changed, auxiliary/necessary components were ! added and a complete relevant test suite has been added. If the tests work, ! especially the capture_output test, you know for sure SAWA is good to go. ! ! Christian's original documentation can be found below after the heading ! "HISTORICAL DOCUMENTATION" ! ! now, the meat... ! ! What mod_perl did for increasing script speed is what SAWA does for application ! power. Many un-related modules may be pipelined and run together in sequence ! by one application. Methods and pipelines are controlled by an event-driven ! dispatching model which can easily be configured in your application. ! ! A symbol table maps methods in your application to events in the SAWA machine, ! and maps incoming paramaters to dispatch logic. You don't need to fret over ! this symbol table, as SAWA provides a simple interface to it called ! registerEvents(). More on that later. ! ! Philosophically, SAWA allows the application developer to focus entirely ! on application logic whithout giving one whit to how it's output is going ! to look (provided of course, that developer is not also in charge of formatting ! the output ;) ! ! SAWA lets the programmer worry about programming, and lets the web site ! designer ! worry about the web site design. ! ! SAWA is highly flexible, allowing you to basically override whatever ! methods you want. SAWA should work fine on it's own merit, but it was ! designed with sub-classable capabilites in mind. ! ! Peruse through the files in the example directory for examples... ! ! =head1 REFACTORING AUTHOR ! ! (c) 2002-2003 ! Michael Wood and Ryan Erwin, Oakley, Inc. ! mi...@we... ry...@we... ! ! =head1 HISTORICAL DOCUMENTATION ! ! This extension started out of Jesse Erlbaum's request to collaborate with ! his CGI::Application framework. I decided instead of writing "Yet Another ! Implementation" of what I already have to implement a set of functions, ! that may allow an I<event>, I<mode> or whatever based web-appliction. ! ! The SAWA interface should overthrow with some basic misconceptions ! that were in CGI::XMLApplication and CGI::Application. First it has to ! be simple and not dependand on any module at CPAN. Second it should ! be easy to extend towards special implementations of CGI (such as ! Apache::Request). Third it has to offer a strict interface, so one can ! apdapt it for his own needs. ! ! As a side effect this module is designed to allow both implementations ! on top of SAWA, so no code is lost. ! ! SAWA is an object perl module that only provides only abstract functions ! and a few basic helper function. ! ! =head2 Application Flow ! ! A SAWA application has 11 stages during application runtime. ! ! =over 4 ! ! =item 1 Symbol initialization ! ! =item 2 Queue initialization ! ! =item 3 Application initialization ! ! =item 4 Application startup ! ! =item 5 Symbol handling ! ! =item 6 Application end ! ! =item 7 Application exit ! ! =back ! ! Step 1-3 are done sinde the applications constructor and have no parameter ! at all. They are ment to provide the general setup of the application, ! which is not runtime dependant. ! ! All steps until the Application ends reside inside the run function and ! recieve an application context. This context can be passed to the run()- ! function from a calling script, too. ! ! The difference between application initialization and application startup ! is simple: During initialization the application should initialize B<only> ! basic things, while the application startup does all the runtime dependant ! initialization. The same is with the end of an application and its exit. ! ! =head2 Symbols and the Application-Queue ! ! One thing CGI Application frameworks seem to have in common, is that ! they relay on special I<symbols> they fetch from many different sources. ! The SAWA only manages the symbol table and some queue handling. A symbol ! is a name of an entry of the symbol table. The queue is a FIFO list that ! stores the names in order they should be handled by the application. SAWA ! itself does not implement any initialization or handling of the symbols. ! This is to provide as much freedom as possible to the application writer ! for the symbol handling. Only the queue handling is implemented. ! ! =head2 Content Deliverment ! ! In CGIs one of the major jobs during runtime is to deliver some output to ! the client. This is not always done in the same way depending on the major ! environment the script runs in and which output methods should be used. ! ! Because of this the entire output sequence is part of a subsystem which ! is loaded during runtime, to provide more flexibility, depending on the ! content This subsystem cares about the entire output sequence. E.g. a ! simple CGI output subsystem just takes some header and the content which ! it prints to the client. ! ! =head2 General Style Notes ! ! All parameters are passed as hash references to the I<interface> ! functions. This is done to allow these application functions to be easier ! to extend. Any Applicationstatus flags are passed B<after> the named ! parameter. Actually this is only true for init_output, so an application ! may decide to have a different output method for application errors. ! ! =head2 The Constructor ! ! =head2 The Application Interface ! ! =over 4 ! ! =item * init_symbols() ! ! =item * init_queue() ! ! =item * init_application() ! ! =item * exit_application() ! ! =item * start_application( $app_context ) ! ! =item * end_application( $app_context ) ! ! =item * handle_symbol( $app_context ) ! ! =item * init_output( $app_context, $app_state ) ! ! This function initializes the output style of the application. this ! function has to be implemented by any high level class. ! ! =item * start_output( $app_context ) ! ! =item * do_output( $app_context ) ! ! This function implements the interface to the CGI::SAWA::Output ! subsystem. This function is not ment to be changed by any inheritated ! class. ! ! =item * end_output( $app_context ) ! ! =back ! ! =head2 The Data Interface ! ! There are three functions to support the interface of the output subsystem ! ! =over 4 ! ! =item * output_style( [$output_class] ) ! ! This function sets or returns the output style of the application. Use ! this function in init_output()! ! ! =item * header( $app_context ) ! ! =item * data( $app_context ) ! ! =back ! ! =head2 The Queue Interface ! ! =over 4 ! ! =item * get_from_queue() ! ! =item * free_queue() ! ! =item * add_to_queue( $symbol, $priority ) ! ! =item * remove_from_queue( $symbol, $priority ) ! ! =back ! ! =head2 CGI Helpers ! ! =over 4 ! ! =item query() ! ! This function returns the real query object. This is required to ! access less general functions such as the environment functions or to ! upload data. ! ! =item param( [$name] ) ! ! This is similar to the param() function of CGI.pm. The parameter ! access is restricted to read access. to modify parameter data get the ! query object or use Vars(). ! ! =item Vars() ! ! returns a hash reference to the query parameters. ! ! =item delete_param( @paramlist_to_delete ) ! =back =head1 AUTHOR ! (c) 2002 Christian Glahn, Innsbruck University, ! chr...@ui... =head1 SEE ALSO ! perl(1). ! =head1 LICENSE ! This module is free software; you can redistribute it and/or modify it under ! the same terms as Perl itself. ! =head1 END HISTORICAL DOCUMENTATION --- 349,403 ---- =head1 NAME ! SAWA - Simple API for Web Applications =head1 SYNOPSIS ! # sample.pm -- A Typical SAWA application as a modperl2 handler ! package sample::handler; ! use SAWA::Machine; ! use Apache::Response; ! use Apache::Const; ! sub handler { ! my $r = shift; ! ! # load the Application and Output classes into ! # the SAWA pipeline ! my $app = SAWA::Machine->new(); ! $app->pipeline( qw( ! My::Greetings ! SAWA::Output::Scalar ! ) ); ! ! # can be any type of Perl reference or object ! my $application_context = {}; ! ! # execute the application pipeline ! return $app->run( $application_context ); ! } ! ! 1; =head1 DESCRIPTION ! Docs are undergoing a major overhaul, please be patient. ! See L<http://sawa.sf.net/> in the interim. =head1 AUTHOR ! Kip Hampton L<kha...@to...> ! Christian Glahn, Innsbruck University, chr...@ui... =head1 SEE ALSO ! SAWA ! =head1 COPYRIGHT AND LICENSE ! Copyright 2002-2009 Kip Hampton L<kha...@to...> ! This module is free software; you can redistribute it and/or modify it ! under the same terms as Perl itself. ! =cut |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/lib/SAWA In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/lib/SAWA Modified Files: Machine.pm Output.pm Log Message: More updates. Test suite mow passes again Index: Machine.pm =================================================================== RCS file: /cvsroot/sawa/sawa/lib/SAWA/Machine.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Machine.pm 24 Jan 2009 11:47:55 -0000 1.9 --- Machine.pm 24 Jan 2009 21:21:37 -0000 1.10 *************** *** 144,148 **** my $handler = $self->current_handler; if ( defined $self->fetch_handler( $handler ) ) { ! warn "Running handler $handler \n"; $self->fetch_handler( $handler )->run( $ctxt ); $self->add_to_queue( "next_in_pipe" ); --- 144,148 ---- my $handler = $self->current_handler; if ( defined $self->fetch_handler( $handler ) ) { ! #warn "Running handler $handler \n"; $self->fetch_handler( $handler )->run( $ctxt ); $self->add_to_queue( "next_in_pipe" ); *************** *** 349,383 **** =head1 DESCRIPTION ! SAWA::Machine is the heart of a SAWA application pipeline. ! It is what controls the "meta" functionality of SAWA itself. ! ! Imagine the basic functions of a crane laying steel pipe and ! that's the SAWA machine - it gets the next chunk of pipe, puts ! it in sequence with the rest of the pipe, signals that the pipe ! piece has just been laid. ! ! Wash, rince repeat. ! ! Under the hood, SAWA::Machine is interfacing with SAWA itself and ! it's complex queue-ing/handler mechanism. ! ! SAWA::Machine imparts but one method beyond new()... ! ! =head1 METHODS ! ! =head2 pipeine() ! ! From your application, before you call $self->run(), call ! $self->pipeline( @list ) to inform the SAWA machine of multple ! modules to be loaded and run. ! ... ! $pipeline = [ qw/ Mail::Stuff File::Manip Wash::Dog / ]; ! $app = SAWA::Machine->new(); ! $app->pipeline( @$pipeline ); ! $app->run({}); ! ... ! ! The modules in $pipeline will be run sequencially =head1 AUTHOR --- 349,355 ---- =head1 DESCRIPTION ! Docs are undergoing a major overhaul, please be patient. ! See L<http://sawa.sf.net/> in the interim. =head1 AUTHOR *************** *** 389,390 **** --- 361,369 ---- SAWA SAWA::Event + + =head1 COPYRIGHT AND LICENSE + + Copyright 2002-2009 Kip Hampton L<kha...@to...> + + This module is free software; you can redistribute it and/or modify it + under the same terms as Perl itself. \ No newline at end of file Index: Output.pm =================================================================== RCS file: /cvsroot/sawa/sawa/lib/SAWA/Output.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Output.pm 24 Jan 2009 11:47:55 -0000 1.9 --- Output.pm 24 Jan 2009 21:21:37 -0000 1.10 *************** *** 47,51 **** my $val = $ref->{$k}; $k =~ s/^-//; - warn "key is $k \n"; $name = $val if $k eq 'name'; $new->{$k} = $val; --- 47,50 ---- *************** *** 132,136 **** my $val = $ref->{$k}; $k =~ s/^-//; - warn "key is $k \n"; $name = $val if $k eq 'name'; $new->{$k} = $val; --- 131,134 ---- *************** *** 230,234 **** =head1 NAME ! SAWA::Output - Abstract Base class for the CGI::SAWA output subsystem =head1 SYNOPSIS --- 228,232 ---- =head1 NAME ! SAWA::Output - Abstract base class SAWA Output types. =head1 SYNOPSIS *************** *** 245,285 **** =head1 DESCRIPTION ! This is a abstract class for SAWA's output layer. It has only two main ! functions. Both function must recieve only a single scalar, which ! should be a hash reference to more descriptive parameters. In fact ! this is no business of this class and left to the specific ! implementation itself. ! ! =head2 The Constructor ! ! The new()-constructor of CGI::SAWA::Output recives a hashreference ! that is blessed to the class name. There should be only a sinlge ! parameter: The query object (as passed from CGI::SAWA->query()). ! ! An application may decides decide during runtime which output style it ! uses during the init_output() call of CGI::SAWA. In such case the ! initialization would look similar to this: ! ! $outclass->new( { -query => $self->query() } ); ! ! where $self is a CGI::SAWA class itself. ! ! Any inheritated class must support the B<-query> parameter! Other ! parameters are allowed as well, but not required. ! ! =head2 The Interface ! ! SAWA's Output system is ment to be simple. It intends to be ! standertized on the lowes level so a wide range of webapplications can ! use it. Basicly all SAWA::Ouput modules need only to implement a ! single function: generate(). This function will get the application ! context and should decide by using the context what has to be done. ! ! Also the query or request object is available at any point of any ! output module by using the query() function. ! In case the main application set an error_message(), an output module ! may take special actions. This function is to allow some ! basic error handling. =head1 AUTHOR --- 243,249 ---- =head1 DESCRIPTION ! Docs are undergoing a major overhaul, please be patient. ! See L<http://sawa.sf.net/> in the interim. =head1 AUTHOR |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/t/lib In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/t/lib Modified Files: Tentacle.pm Log Message: More updates. Test suite mow passes again Index: Tentacle.pm =================================================================== RCS file: /cvsroot/sawa/sawa/t/lib/Tentacle.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Tentacle.pm 24 Jan 2009 10:11:33 -0000 1.1 --- Tentacle.pm 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 81,89 **** my $path = shift; unless ( $path and length $path ) { - carp "No file path."; return undef; } ! warn "looking up path $path \n"; if ( my $member = $self->zip_archive->memberNamed('static' . $path )) { return $member; --- 81,88 ---- my $path = shift; unless ( $path and length $path ) { return undef; } ! # carp "looking up path $path \n"; if ( my $member = $self->zip_archive->memberNamed('static' . $path )) { return $member; |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/lib/SAWA/Output/XML In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/lib/SAWA/Output/XML Modified Files: LibXSLT.pm Log Message: More updates. Test suite mow passes again Index: LibXSLT.pm =================================================================== RCS file: /cvsroot/sawa/sawa/lib/SAWA/Output/XML/LibXSLT.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** LibXSLT.pm 5 Jan 2009 18:12:12 -0000 1.3 --- LibXSLT.pm 24 Jan 2009 21:21:37 -0000 1.4 *************** *** 41,45 **** } elsif ( not ref $xsl_dom ) { ! $self->error->warn("Looking up file $xsl_dom"); my $p = XML::LibXML->new; eval { --- 41,45 ---- } elsif ( not ref $xsl_dom ) { ! #$self->error->warn("Looking up file $xsl_dom"); my $p = XML::LibXML->new; eval { *************** *** 167,179 **** =pod ! =head1 NAME ! ! ! =head1 SYNOPSIS ! =head1 DESCRIPTION =head1 AUTHOR --- 167,177 ---- =pod ! =head1 NAME SAWA::Output::XML::LibXSLT =head1 DESCRIPTION + Docs are undergoing a major overhaul, please be patient. + See L<http://sawa.sf.net/> in the interim. =head1 AUTHOR |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934 Modified Files: META.yml Log Message: More updates. Test suite mow passes again Index: META.yml =================================================================== RCS file: /cvsroot/sawa/sawa/META.yml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** META.yml 24 Dec 2008 00:21:14 -0000 1.2 --- META.yml 24 Jan 2009 21:21:37 -0000 1.3 *************** *** 2,13 **** #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: SAWA ! version: 1.05 version_from: lib/SAWA.pm installdirs: site requires: - Apache::Test: 1.13 - CGI: 3.01 Scalar::Util: 0 - Storable: 0 Test::More: 0 URI: 0 --- 2,10 ---- #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: SAWA ! version: 1.51 version_from: lib/SAWA.pm installdirs: site requires: Scalar::Util: 0 Test::More: 0 URI: 0 |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/t/src/htmltemplate/lib/htmltemplate In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/t/src/htmltemplate/lib/htmltemplate Modified Files: Output.pm Log Message: More updates. Test suite mow passes again Index: Output.pm =================================================================== RCS file: /cvsroot/sawa/sawa/t/src/htmltemplate/lib/htmltemplate/Output.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Output.pm 24 Jan 2009 11:47:55 -0000 1.1 --- Output.pm 24 Jan 2009 21:21:37 -0000 1.2 *************** *** 12,26 **** # due to the fact that the test dir may be installed # in any dir ! my $style_path; ! if ($ENV{MOD_PERL}) { ! $style_path = $self->query->r->document_root; ! $style_path .= '/templates/moviename/'; ! } ! else { ! require Cwd; ! $style_path = Cwd::abs_path('../htdocs/templates/moviename'); ! $style_path .= '/'; ! } $self->template_path( $style_path ); --- 12,26 ---- # due to the fact that the test dir may be installed # in any dir ! my $style_path = $self->static_path . '/templates/moviename/'; ! # if ($ENV{MOD_PERL}) { ! # $style_path = $self->query->r->document_root; ! # $style_path .= '/templates/moviename/'; ! # } ! # else { ! # require Cwd; ! # $style_path = Cwd::abs_path('../htdocs/templates/moviename'); ! # $style_path .= '/'; ! # } $self->template_path( $style_path ); |
From: Kip H. <ki...@us...> - 2009-01-24 21:21:41
|
Update of /cvsroot/sawa/sawa/t/apps In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2934/t/apps Modified Files: htmltemplate.par Log Message: More updates. Test suite mow passes again Index: htmltemplate.par =================================================================== RCS file: /cvsroot/sawa/sawa/t/apps/htmltemplate.par,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsnX3UKw and /tmp/cvsSIKCSh differ |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:34
|
Update of /cvsroot/sawa/sawa/t/src/output/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/output/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - output::StepOne - output::StepTwo - basic::Output url_token: output |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:32
|
Update of /cvsroot/sawa/sawa/t/src/libxslt/static/styles/moviename In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/libxslt/static/styles/moviename Added Files: complete.xsl params.xsl prompt.xsl Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: params.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- Global Params --> <xsl:param name="last.hotel"/> <xsl:param name="last.street"/> <xsl:param name="last.maiden"/> <xsl:param name="first.middle_name"/> <xsl:param name="first.pet"/> <xsl:param name="first.car"/> </xsl:stylesheet> --- NEW FILE: complete.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="params.xsl"/> <xsl:output method="html"/> <xsl:template match="/"> <html> <head> <title>Movie Star Name Generator</title> </head> <body> <div class="pagehead"> Movie Star Name Generator </div> <div class="message"> <p> <xsl:apply-templates select="//message"/> </p> </div> <xsl:apply-templates select="/application"/> <div class="pagefoot"> Copyright 1994-2003 WebCliche, Inc. All rights reserved. </div> </body> </html> </xsl:template> <xsl:template match="application"> <div> <p> Your new <i>nom d'cinema</i> is: <b> <xsl:value-of select="/application/first_name"/> <xsl:text> </xsl:text> <xsl:value-of select="/application/last_name"/> </b> </p> </div> <form name="prompt" action="libxslt" method="post"> <input name="last.hotel" type="hidden" value="{$last.hotel}"/> <input name="last.street" type="hidden" value="{$last.street}"/> <input name="last.maiden" type="hidden" value="{$last.maiden}"/> <input name="first.middle_name" type="hidden" value="{$first.middle_name}"/> <input name="first.pet" type="hidden" value="{$first.pet}"/> <input name="first.car" type="hidden" value="{$first.car}"/> <input name="appstate" type="hidden" value="complete"/> <div> <input type="submit" value="Regenerate"/> <input type="button" value="Start Over" onClick="location='libxslt'"/> </div> </form> </xsl:template> </xsl:stylesheet> --- NEW FILE: prompt.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="params.xsl"/> <xsl:output method="html"/> <xsl:template match="/"> <html> <head> <title>Movie Star Name Generator</title> </head> <body> <div class="pagehead"> Movie Star Name Generator </div> <div class="message"> <p> <xsl:apply-templates select="//message"/> </p> </div> <xsl:apply-templates select="/application"/> <div class="pagefoot"> Copyright 1994-2003 WebCliche, Inc. All rights reserved. </div> </body> </html> </xsl:template> <xsl:template match="application"> <form name="prompt" action="libxslt" method="post"> <div class="appmain"> <div> Name of classy hotel: <input name="last.hotel" type="text" value="{$last.hotel}"/> </div> <div> Name a street you lived on when you were a teenager: <input name="last.street" type="text" value="{$last.street}"/> </div> <div> Your mother's maiden name: <input name="last.maiden" type="text" value="{$last.maiden}"/> </div> <div> Your middle name: <input name="first.middle_name" type="text" value="{$first.middle_name}"/> </div> <div> The name of your favorite pet: <input name="first.pet" type="text" value="{$first.pet}"/> </div> <div> Name of your favorite model of car: <input name="first.car" type="text" value="{$first.car}"/> </div> <div> <input name="appstate" type="hidden" value="complete"/> <input name="complete" type="hidden" value="1"/> <input type="submit" value="Generate Name"/> <input type="reset" value="Start Over"/> </div> </div> </form> </xsl:template> </xsl:stylesheet> |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:29
|
Update of /cvsroot/sawa/sawa/t/src/output/lib/output In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/output/lib/output Added Files: StepOne.pm StepTwo.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: StepTwo.pm --- package output::StepTwo; use SAWA::Constants; use SAWA::Event::Simple; use vars qw(@ISA); @ISA = qw( SAWA::Event::Simple ); sub registerEvents { return qw/ /; } sub event_init { die "Event method called when upstream handler returned 'OUTPUT'" } 1; --- NEW FILE: StepOne.pm --- package output::StepOne; use SAWA::Constants; use SAWA::Event::Simple; our @ISA = qw( SAWA::Event::Simple ); sub registerEvents { return qw/ first /; } sub event_init { my $self = shift; my $ctxt = shift; $ctxt->{content} = '<p>output::StepOne::event_init</p>'; return OUTPUT; } sub event_first { die "Event method called after event_init returned 'OUTPUT'"; } 1; --- NEW FILE: handler.pm --- package output::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->pipeline( qw( output::StepOne output::StepTwo basic::Output ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:26
|
Update of /cvsroot/sawa/sawa/t/src/http/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/http/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - http::Base - basic::Output url_token: http |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:18
|
Update of /cvsroot/sawa/sawa/t/src/simplesub/lib/addons/EventSimpleSub In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/simplesub/lib/addons/EventSimpleSub Added Files: EventSubsTester.pm EventSubsTesterTwo.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: EventSubsTesterTwo.pm --- (This appears to be a binary file; contents omitted.) --- NEW FILE: handler.pm --- package addons::EventSimpleSub::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->wibble('handler'); $app->pipeline( qw( addons::EventSimpleSub::EventSubsTester addons::EventSimpleSub::EventSubsTesterTwo basic::Output ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK;; } 1; --- NEW FILE: EventSubsTester.pm --- (This appears to be a binary file; contents omitted.) |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:13
|
Update of /cvsroot/sawa/sawa/t/src/pipeloader/lib/pipeloader In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/pipeloader/lib/pipeloader Added Files: Chooser.pm Curly.pm Larry.pm Moe.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: Chooser.pm --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Larry.pm --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Moe.pm --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Curly.pm --- (This appears to be a binary file; contents omitted.) --- NEW FILE: handler.pm --- package pipeloader::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->pipeline( qw( pipeloader::Chooser ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK;; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:10
|
Update of /cvsroot/sawa/sawa/t/src/simplesub/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/simplesub/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - addons::EventSimpleSub::EventSubsTester - addons::EventSimpleSub::EventSubsTesterTwo - basic::Output url_token: simplesub |
From: Kip H. <ki...@us...> - 2009-01-24 13:18:02
|
Update of /cvsroot/sawa/sawa/t/src/pipeloader/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/pipeloader/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - pipeloader::Chooser url_token: pipeloader |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:54
|
Update of /cvsroot/sawa/sawa/t/src/tt2/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/tt2/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - tt2::Base - tt2::Output url_token: tt2 |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:51
|
Update of /cvsroot/sawa/sawa/t/src/redirect/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/redirect/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - redirect::StepOne - redirect::StepTwo - basic::Output url_token: redirect |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:47
|
Update of /cvsroot/sawa/sawa/t/src/redirect/lib/redirect In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/redirect/lib/redirect Added Files: StepOne.pm StepTwo.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: StepTwo.pm --- package redirect::StepTwo; use SAWA::Constants; use SAWA::Event::Simple; use XML::LibXML; our @ISA = qw( SAWA::Event::Simple ); sub registerEvents { return qw/ first last /; } sub event_init { my $self = shift; my $ctxt = shift; $ctxt->{content} .= '<p>redirect::StepTwo::event_init</p>'; return OK; } sub event_first { my $self = shift; my $ctxt = shift; $ctxt->{content} .= '<p>redirect::StepTwo::event_first</p>'; return OK; } sub event_last { my $self = shift; my $ctxt = shift; $ctxt->{content} .= '<p>redirect::StepTwo::event_last</p>'; return OK; } 1; --- NEW FILE: StepOne.pm --- package redirect::StepOne; use SAWA::Constants; use SAWA::Event::Simple; our @ISA = qw( SAWA::Event::Simple ); sub registerEvents { return qw/ first last /; } sub event_init { my $self = shift; my $ctxt = shift; $self->redirect('/wibble'); $ctxt->{content} = '<p>redirect::StepOne::event_init</p>'; return OK; } sub event_first { my $self = shift; my $ctxt = shift; $ctxt->{content} .= '<p>redirect::StepOne::event_first</p>'; return OK; } sub event_last { my $self = shift; my $ctxt = shift; $ctxt->{content} .= '<p>redirect::StepOne::event_last</p>'; return OK; } 1; --- NEW FILE: handler.pm --- package redirect::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->pipeline( qw( redirect::StepOne redirect::StepTwo basic::Output ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:45
|
Update of /cvsroot/sawa/sawa/t/src/htmltemplate/lib/htmltemplate In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/htmltemplate/lib/htmltemplate Added Files: Base.pm Output.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: Base.pm --- package htmltemplate::Base; use SAWA::Constants; use SAWA::Event::Simple; use strict; our @ISA = qw( SAWA::Event::Simple ); BEGIN { srand(time() ^ ($$ + ($$ << 15))) } sub registerEvents { return qw/ complete /; } sub event_default { my $self = shift; my $ctxt = shift; $ctxt->{template} = 'prompt.tmpl'; $ctxt->{message} = 'Please complete the following form to generate your fabulous new movie star name'; return OK; } sub event_complete { my $self = shift; my $ctxt = shift; my @param_names = $self->query->param; my @first_names = map { $self->query->param("$_") } grep { $_ =~ /^first_/ } @param_names; my @last_names = map { $self->query->param("$_") } grep { $_ =~ /^last_/ } @param_names; if ( ((scalar @first_names) + (scalar @last_names) != 6) || ( grep { length == 0 } @first_names, @last_names ) ) { $ctxt->{message} = 'All fields must be filled in. Please try again.'; $ctxt->{template} = 'prompt.tmpl'; return OK; } $ctxt->{first_name} = $first_names[ int( rand( @first_names )) ]; $ctxt->{last_name} = $last_names[ int( rand( @last_names )) ]; $ctxt->{message} = 'Congratulations! Your Movie Star name has been magically determined!'; $ctxt->{template} = 'complete.tmpl'; return OK; } 1; --- NEW FILE: handler.pm --- package htmltemplate::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->pipeline( qw( htmltemplate::Base htmltemplate::Output ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK; } 1; --- NEW FILE: Output.pm --- package htmltemplate::Output; use strict; use warnings; use SAWA::Constants; use base qw(SAWA::Output::HTMLTemplate); sub get_template { my $self = shift; my $ctxt = shift; # this is more complest than it usually would be # due to the fact that the test dir may be installed # in any dir my $style_path; if ($ENV{MOD_PERL}) { $style_path = $self->query->r->document_root; $style_path .= '/templates/moviename/'; } else { require Cwd; $style_path = Cwd::abs_path('../htdocs/templates/moviename'); $style_path .= '/'; } $self->template_path( $style_path ); $self->template( $ctxt->{template} ); return OK; } sub get_template_vars { my $self = shift; my $ctxt = shift; for ( $self->query->param ) { $ctxt->{$_} = $self->query->param($_); } $self->template_vars($ctxt); return OK; } sub get_template_conf { my $self = shift; $self->template_conf({ die_on_bad_params => 0 }); return OK; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:42
|
Update of /cvsroot/sawa/sawa/t/src/skel/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/skel/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - My::App::Event - SAWA::Output::Scalar url_token: tester2 |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:41
|
Update of /cvsroot/sawa/sawa/t/src/http/lib/http In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/http/lib/http Added Files: Base.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: Base.pm --- package http::Base; use SAWA::Constants; use SAWA::Event::Simple; our @ISA = qw( SAWA::Event::Simple ); sub registerEvents { return qw/ cookie headers multicookie redirect redirect_cookie/; } sub event_init { my $self = shift; my $ctxt = shift; $ctxt->{content} = '<html><body><p>Howdy</p></body></html>'; return OK; } sub event_cookie { my $self = shift; my $ctxt = shift; $self->cookie( -name =>'name', -value => 'val' ); return OK; } sub event_multicookie { my $self = shift; my $ctxt = shift; $self->cookie( -name =>'name1', -value => 'oreo' ); $self->cookie( -name =>'name2', -value => 'peanutbutter' ); return OK; } sub event_headers { my $self = shift; my $ctxt = shift; $self->mime_type('text/xml'); $self->charset('UTF-8'); $self->header( 'X-Wibble' => 'text/x-ubu' ); $self->header( Bogus => 'arbitrary' ); return OK; } sub event_redirect { my $self = shift; my $ctxt = shift; $self->redirect('/imnotthere'); return OK; } sub event_redirect_cookie { my $self = shift; my $ctxt = shift; $self->cookie( -name =>'name', -value => 'val' ); $self->redirect('/imnotthere'); return OK; } 1; --- NEW FILE: handler.pm --- package http::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; } else { require Apache::Constants; require Apache::Request; } } sub handler { my $r = shift; my $app; if (MP1) { my $q = Apache::Request->instance( $r ); $app = SAWA::Machine->new({ -query => $q }); } else { $app = SAWA::Machine->new({ -query => $r }); } $app->pipeline( qw( http::Base basic::Output ) ); return $app->run({}); #return MP2 ? Apache::OK : Apache::Constants::OK; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:38
|
Update of /cvsroot/sawa/sawa/t/src/libxslt/lib/libxslt In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/libxslt/lib/libxslt Added Files: Base.pm Output.pm handler.pm Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: Base.pm --- package libxslt::Base; use SAWA::Constants; use SAWA::Event::Simple; use strict; our @ISA = qw( SAWA::Event::Simple ); BEGIN { srand(time() ^ ($$ + ($$ << 15))) } sub registerEvents { return qw/ complete /; } sub event_default { my $self = shift; my $ctxt = shift; $ctxt->{stylesheet} = 'prompt.xsl'; $ctxt->{message} = 'Please complete the following form to generate your fabulous new movie star name'; return OK; } sub event_complete { my $self = shift; my $ctxt = shift; my @param_names = $self->query->param; my @first_names = map { $self->query->param("$_") } grep { $_ =~ /^first\./ } @param_names; my @last_names = map { $self->query->param("$_") } grep { $_ =~ /^last\./ } @param_names; if ( ((scalar @first_names) + (scalar @last_names) != 6) || ( grep { length == 0 } @first_names, @last_names ) ) { $ctxt->{message} = 'All fields must be filled in. Please try again.'; $ctxt->{stylesheet} = 'prompt.xsl'; return OK; } $ctxt->{first_name} = $first_names[ int( rand( @first_names )) ]; $ctxt->{last_name} = $last_names[ int( rand( @last_names )) ]; $ctxt->{message} = 'Congratulations! Your Movie Star name has been magically determined!'; $ctxt->{stylesheet} = 'complete.xsl'; return OK; } 1; --- NEW FILE: handler.pm --- package libxslt::handler; use SAWA::Machine; use mod_perl; use constant MP2 => $mod_perl::VERSION >= 1.99; BEGIN { if (MP2) { require Apache::Response; require Apache::Const; require Apache::RequestIO; } else { require Apache::Constants; } } sub handler { my $r = shift; my $app = SAWA::Machine->new(); $app->pipeline( qw( libxslt::Base libxslt::Output ) ); $app->run({}); return MP2 ? Apache::OK : Apache::Constants::OK; } 1; --- NEW FILE: Output.pm --- package libxslt::Output; use strict; use warnings; use XML::LibXML; use SAWA::Constants; use SAWA::Output::XML::LibXSLT; our @ISA = qw/ SAWA::Output::XML::LibXSLT /; sub get_stylesheet { my $self = shift; my $ctxt = shift; # this is more complest than it usually would be # due to the fact that the test dir may be installed # in any dir my $style_path = $self->static_path . '/styles/moviename/'; # if ($ENV{MOD_PERL}) { # $style_path = $self->query->r->document_root; # $style_path .= '/styles/moviename/'; # } # else { # require Cwd; # $style_path = Cwd::abs_path('../htdocs/styles/moviename'); # $style_path .= '/'; # } $self->stylesheet( $style_path . $ctxt->{stylesheet} ); return OK; } sub get_document { my $self = shift; my $ctxt = shift; my $dom = XML::LibXML::Document->new(); my $root = $dom->createElement( 'application' ); $dom->setDocumentElement( $root ); foreach my $token ( qw( message first_name last_name ) ) { if ( defined( $ctxt->{ $token } )) { my $element = $dom->createElement( $token ); $element->appendChild( $dom->createTextNode( $ctxt->{ $token } ) ); $root->appendChild( $element ); } } $self->document( $dom ); return OK; } sub get_style_params { # just copy all params through (should this be the default?) my $self = shift; my $ctxt = shift; my %style_params = (); for ( $self->query->param ) { $style_params{$_} = $self->query->param($_); } $self->style_params( \%style_params ); return OK; } 1; |
From: Kip H. <ki...@us...> - 2009-01-24 13:17:33
|
Update of /cvsroot/sawa/sawa/t/src/libxslt/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11548/t/src/libxslt/conf Added Files: application.yaml Log Message: Massive update to the test suite. Now decoupled from Apache::Test --- NEW FILE: application.yaml --- pipeline: - libxslt::Base - libxslt::Output url_token: libxslt |