Apache-SWIT
view release on metacpan or search on metacpan
lib/Apache/SWIT/DB/Connection.pm view on Meta::CPAN
use strict;
use warnings FATAL => 'all';
package Apache::SWIT::DB::Connection;
use base 'Class::Data::Inheritable', 'Class::Accessor';
use Apache::SWIT::DB::ST;
use Carp;
__PACKAGE__->mk_classdata('Instance');
__PACKAGE__->mk_classdata('DBIArgs', { PrintError => 0
, AutoCommit => 1, pg_enable_utf8 => 1
, HandleError => sub { confess($_[0]); }
, RootClass => 'Apache::SWIT::DB::ST', });
__PACKAGE__->mk_accessors(qw(db_handle pid));
sub instance {
my ($class, $handle) = @_;
my $self = $class->Instance;
return $self if $self && $self->pid == $$;
lib/Apache/SWIT/Test.pm view on Meta::CPAN
my ($self, $handler_class, %args) = @_;
delete $args{url_to_make};
delete $args{error_ok};
my $b = delete $args{button};
$args{button} = $b->[0] if $b;
$self->_filter_out_readonly(\%args);
$self->mech->submit_form(%args);
return $self->mech->content;
}
sub _decode_utf8_arr {
my $arr = shift;
return $arr if ref($arr) ne 'ARRAY'; # DateTime for example
for (my $i = 0; $i < @$arr; $i++) {
my $r = ref($arr->[$i]);
$arr->[$i] = $r ? $r eq 'ARRAY' ? _decode_utf8_arr($arr->[$i])
: _decode_utf8($arr->[$i])
: Encode::decode_utf8($arr->[$i]);
}
return $arr;
}
sub _decode_utf8 {
my $arg = shift;
($arg->{$_} = ref($arg->{$_}) ? _decode_utf8_arr($arg->{$_})
: Encode::decode_utf8($arg->{$_})) for (keys %$arg);
return $arg;
}
sub _direct_ht_render {
my ($self, $handler_class, %args) = @_;
my $res = $self->_direct_render($handler_class, %args);
my @cs = HTML::Tested::Test->check_stash($handler_class->ht_root_class
, $res, _decode_utf8($args{ht}));
push @cs, $res if @cs;
return @cs;
}
sub _mech_ht_render {
my ($self, $handler_class, %args) = @_;
my $content = $self->_mech_render($handler_class, %args);
return HTML::Tested::Test->check_text(
$handler_class->ht_root_class, $content, $args{ht});
}
t/apache/060_guitest.t view on Meta::CPAN
unlike($pa, qr/\w+=\w+/) or ASTU_Wait;
$t->mech->run_js("return form_submit()");
is_deeply($t->mech->console_messages, []);
my $b = 'баба';
$t->content_like(qr/$b/);
my $dbh = Apache::SWIT::DB::Connection->instance->db_handle;
{
use utf8;
is_deeply($dbh->selectcol_arrayref("select val from dbp"), [ 'баба' ]);
};
ASTU_Reset_Table("dbp");
is_deeply($dbh->selectcol_arrayref("select * from dbp"), []);
$t->ok_ht_db_page_r(base_url => '/test/db_page/r', ht => {
val => ''
});
t/apache/070_unicode.t view on Meta::CPAN
use strict;
use warnings FATAL => 'all';
use utf8;
use Test::More tests => 11;
use Apache::SWIT::Test::Utils;
use Apache::SWIT::Session;
use Carp;
use HTML::Tested::Test::DateTime;
BEGIN { use_ok('T::Test');
use_ok('T::DBPage');
$SIG{__WARN__} = sub { diag(Carp::longmess(@_)); };
# $SIG{__DIE__} = sub { diag(Carp::longmess(@_)); exit; };
( run in 1.438 second using v1.01-cache-2.11-cpan-49f99fa48dc )