Author: hmbrand
Date: Sat May 22 07:56:30 2010
New Revision: 14008

Modified:
   dbi/trunk/t/49dbd_file.t

Log:
Test the encoding layer

(and some tidying)

Modified: dbi/trunk/t/49dbd_file.t
==============================================================================
--- dbi/trunk/t/49dbd_file.t    (original)
+++ dbi/trunk/t/49dbd_file.t    Sat May 22 07:56:30 2010
@@ -17,7 +17,7 @@
 use_ok ("DBD::File");
 
 my $rowidx = 0;
-my @rows = ( [ 'Hello World' ], [ 'Hello DBI Developers' ], );
+my @rows = ( [ "Hello World" ], [ "Hello DBI Developers" ], );
 
 my $dbh;
 
@@ -62,21 +62,27 @@
     like ("@msg", qr{Cannot open ./t_sbdgf_}, "Cannot open non-existing file");
     }
 
+my $tfh;
+
 # Now test some basic SQL statements
-#if (open my $fh, ">", "$tbl.txt") {
-#    print $fh "txt\nPlain text\n";
-#    close $fh;
-#    }
+my $tbl_file = "$tbl.txt";
 ok ($dbh->do ("create table $tbl (txt varchar (20))"), "Create table $tbl");
-ok (-f "$tbl.txt", "Test table exists");
+ok (-f $tbl_file, "Test table exists");
+
+if ($tfh) { # push_names () cached the now opened file handle
+    # Expected: ("unix", "perlio", "encoding(iso-8859-1)")
+    # use Data::Peek; DDumper [ PerlIO::get_layers ($tfh) ];
+    my @layer = grep { $_ eq "encoding($encoding)" } PerlIO::get_layers ($tfh);
+    is (scalar @layer, 1, "encoding shows in layer");
+    }
 
 ok ($sth = $dbh->prepare ("select * from $tbl"), "Prepare select *");
 $rowidx = 0;
 SKIP: {
-    skip "method intrusion didn't work with proxying", 1 if $using_dbd_gofer;
+    $using_dbd_gofer and skip "method intrusion didn't work with proxying", 1;
     ok ($sth->execute, "execute");
-    diag $dbh->errstr if $dbh->errstr;
-}
+    $dbh->errstr and diag;
+    }
 
 ok ($dbh->do ("drop table $tbl"), "table drop");
 is (-s "$tbl.txt", undef, "Test table removed");
@@ -85,9 +91,9 @@
 
 sub DBD::File::Table::fetch_row ($$)
 {
-    my ( $self, $data ) = @_;
+    my ($self, $data) = @_;
     my $meta = $self->{meta};
-    if( $rowidx >= scalar @rows ) {
+    if ($rowidx >= scalar @rows) {
        $self->{row} = undef;
        }
     else {
@@ -96,10 +102,10 @@
     return $self->{row};
     } # fetch_row
 
-
 sub DBD::File::Table::push_names ($$$)
 {
-    my ( $self, $data, $row_aryref ) = @_;
+    my ($self, $data, $row_aryref) = @_;
+    $tfh = $self->{fh};
     my $meta = $self->{meta};
     @{$meta->{col_names}} = @{$row_aryref};
     } # push_names

Reply via email to