Blame t/25_chopblanks.t

Packit 723767
#!/usr/bin/perl
Packit 723767
Packit 723767
# Check whether 'ChopBlanks' works.
Packit 723767
Packit 723767
use strict;
Packit 723767
BEGIN {
Packit 723767
	$|  = 1;
Packit 723767
	$^W = 1;
Packit 723767
}
Packit 723767
Packit 723767
use lib "t/lib";
Packit 723767
use SQLiteTest;
Packit 723767
use Test::More tests => 14;
Packit 723767
use Test::NoWarnings;
Packit 723767
Packit 723767
# Create a database
Packit 723767
my $dbh = connect_ok( RaiseError => 1 );
Packit 723767
Packit 723767
# Create the table
Packit 723767
ok( $dbh->do(<<'END_SQL'), 'CREATE TABLE' );
Packit 723767
CREATE TABLE one (
Packit 723767
    id INTEGER NOT NULL,
Packit 723767
    name CHAR (64) NOT NULL
Packit 723767
)
Packit 723767
END_SQL
Packit 723767
Packit 723767
# Fill the table
Packit 723767
ok(
Packit 723767
	$dbh->do('INSERT INTO one values ( 1, ? )', {}, 'NULL' ),
Packit 723767
	'INSERT 1',
Packit 723767
);
Packit 723767
ok(
Packit 723767
	$dbh->do('INSERT INTO one values ( 2, ? )', {}, ' '),
Packit 723767
	'INSERT 2',
Packit 723767
);
Packit 723767
ok(
Packit 723767
	$dbh->do('INSERT INTO one values ( 3, ? )', {}, ' a b c '),
Packit 723767
	'INSERT 3',
Packit 723767
);
Packit 723767
Packit 723767
# Test fetching with ChopBlanks off
Packit 723767
SCOPE: {
Packit 723767
	my $sth = $dbh->prepare('SELECT * FROM one ORDER BY id');
Packit 723767
	isa_ok( $sth, 'DBI::st' );
Packit 723767
	ok( $sth->execute, '->execute ok' );
Packit 723767
	$sth->{ChopBlanks} = 0;
Packit 723767
	my $rows = $sth->fetchall_arrayref;
Packit 723767
	is_deeply( $rows, [
Packit 723767
		[ 1, 'NULL'    ],
Packit 723767
		[ 2, ' '       ],
Packit 723767
		[ 3, ' a b c ' ],
Packit 723767
	], 'ChopBlanks = 0' );
Packit 723767
	ok( $sth->finish, '->finish' );
Packit 723767
}
Packit 723767
Packit 723767
# Test fetching with ChopBlanks on
Packit 723767
SCOPE: {
Packit 723767
	my $sth = $dbh->prepare('SELECT * FROM one ORDER BY id');
Packit 723767
	isa_ok( $sth, 'DBI::st' );
Packit 723767
	ok( $sth->execute, '->execute ok' );
Packit 723767
	$sth->{ChopBlanks} = 1;
Packit 723767
	my $rows = $sth->fetchall_arrayref;
Packit 723767
	is_deeply( $rows, [
Packit 723767
		[ 1, 'NULL'   ],
Packit 723767
		[ 2, ''       ],
Packit 723767
		[ 3, ' a b c' ],
Packit 723767
	], 'ChopBlanks = 1' );
Packit 723767
	ok( $sth->finish, '->finish' );
Packit 723767
}