DBD-PO
view release on metacpan or search on metacpan
t/03_DBD-PO/04_change_table.t view on Meta::CPAN
#!perl
#!perl -T
use strict;
use warnings;
use Carp qw(croak);
use English qw(-no_match_vars $OS_ERROR $INPUT_RECORD_SEPARATOR);
use Test::DBD::PO::Defaults qw(
$PATH $TRACE $EOL
trace_file_name
$TABLE_0X $FILE_0X
);
use Test::More tests => 8 + 1;
use Test::NoWarnings;
use Test::Differences;
BEGIN {
require_ok('DBI');
require_ok('DBD::PO'); DBD::PO->init(':plural');
}
my $dbh;
# connext
{
$dbh = DBI->connect(
"dbi:PO:f_dir=$PATH;po_charset=utf-8",
undef,
undef,
{
RaiseError => 1,
PrintError => 0,
AutoCommit => 1,
},
);
isa_ok($dbh, 'DBI::db', 'connect');
if ($TRACE) {
open my $file, '>', trace_file_name();
$dbh->trace(4, $file);
}
}
# change table
{
my $result = $dbh->do(<<"EO_SQL", undef, qw(str_1u id_1));
UPDATE $TABLE_0X
SET msgstr=?
WHERE msgid=?
EO_SQL
is($result, 1, 'update row 1');
my $sth = $dbh->prepare(<<"EO_SQL");
SELECT msgid, msgstr
FROM $TABLE_0X
WHERE msgid=?
EO_SQL
isa_ok($sth, 'DBI::st', 'prepare');
$result = $sth->execute('id_1');
is($result, 1, 'execute');
$result = $sth->fetchrow_arrayref();
is_deeply($result, [qw(id_1 str_1u)], 'fetch result');
}
# check table file
{
my $po = <<'EOT';
# comment1
# comment2
msgid ""
msgstr ""
"Project-Id-Version: Testproject\n"
"Report-Msgid-Bugs-To: Bug Reporter <bug@example.org>\n"
( run in 1.635 second using v1.01-cache-2.11-cpan-98e64b0badf )