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 )