File: 11_dsnlist.t

package info (click to toggle)
libdbd-csv-perl 0.6200-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 332 kB
  • sloc: perl: 2,065; makefile: 4
file content (42 lines) | stat: -rw-r--r-- 1,004 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/perl

# Test whether data_sources () returns something useful

use strict;
use warnings;
use Test::More;

# Include lib.pl
BEGIN { use_ok ("DBI") }
do "./t/lib.pl";

ok (1,						"Driver is CSV\n");

ok (my $dbh = Connect (),			"Connect");

$dbh or BAIL_OUT "Cannot connect";

ok ($dbh->ping,					"ping");

# This returns at least ".", "lib", and "t"
ok (my @dsn = DBI->data_sources ("CSV"),	"data_sources");
ok (@dsn >= 2,					"more than one");
ok ($dbh->disconnect,				"disconnect");

# Try different DSN's
foreach my $d (qw( . examples lib t )) {
    ok (my $dns = Connect ("dbi:CSV:f_dir=$d"),	"use $d as f_dir");
    ok ($dbh->disconnect,			"disconnect");
    }

if ($DBD::File::VERSION ge "0.45") {
    my @err;
    is (eval {
	local $SIG{__WARN__} = sub { push @err => @_ };
	local $SIG{__DIE__}  = sub { push @err => @_ };
	Connect ("dbi:CSV:f_dir=d/non/exist/here");
	}, undef, "f_dir = nonexting dir");
    like ("@err", qr{d/non/exist/here}, "Error caught");
    }

done_testing ();