summaryrefslogtreecommitdiff
path: root/t/11-ledgersmb.t
diff options
context:
space:
mode:
Diffstat (limited to 't/11-ledgersmb.t')
-rw-r--r--t/11-ledgersmb.t41
1 files changed, 41 insertions, 0 deletions
diff --git a/t/11-ledgersmb.t b/t/11-ledgersmb.t
index ad8ba58d..ff388742 100644
--- a/t/11-ledgersmb.t
+++ b/t/11-ledgersmb.t
@@ -2,6 +2,9 @@
use strict;
use warnings;
+
+$ENV{TMPDIR} = 't/var';
+
use Test::More 'no_plan';
use Test::Exception;
use Test::Trap qw(trap $trap);
@@ -129,3 +132,41 @@ SKIP: {
is(unlink("t/var/lsmb-11.$$"), 1, "debug: removing t/var/lsmb-11.$$");
ok(!-e "t/var/lsmb-11.$$", "debug: t/var/lsmb-11.$$ removed");
};
+
+# $lsmb->new checks
+$lsmb = new LedgerSMB;
+ok(defined $lsmb, 'new: blank, defined');
+isa_ok($lsmb, 'LedgerSMB', 'new: blank, correct type');
+ok(defined $lsmb->{action}, 'new: blank, action defined');
+ok(defined $lsmb->{dbversion}, 'new: blank, dbversion defined');
+ok(defined $lsmb->{path}, 'new: blank, path defined');
+ok(defined $lsmb->{version}, 'new: blank, version defined');
+
+$lsmb = new LedgerSMB('action=Apple%20sauce');
+ok(defined $lsmb, 'new: action set, defined');
+isa_ok($lsmb, 'LedgerSMB', 'new: action set, correct type');
+ok(defined $lsmb->{action}, 'new: action set, action defined');
+is($lsmb->{action}, 'apple_sauce', 'new: action set, action processed');
+ok(defined $lsmb->{dbversion}, 'new: action set, dbversion defined');
+ok(defined $lsmb->{path}, 'new: action set, path defined');
+ok(defined $lsmb->{version}, 'new: action set, version defined');
+
+$lsmb = new LedgerSMB('path=bin/lynx');
+ok(defined $lsmb, 'new: lynx, defined');
+isa_ok($lsmb, 'LedgerSMB', 'new: lynx, correct type');
+ok(defined $lsmb->{action}, 'new: lynx, action defined');
+ok(defined $lsmb->{dbversion}, 'new: lynx, dbversion defined');
+ok(defined $lsmb->{path}, 'new: lynx, path defined');
+is($lsmb->{path}, 'bin/lynx', 'new: lynx, path carried through');
+ok(defined $lsmb->{lynx}, 'new: lynx, lynx defined');
+is($lsmb->{lynx}, 1, 'new: lynx, lynx enabled');
+ok(defined $lsmb->{menubar}, 'new: lynx, menubar defined (deprecated)');
+is($lsmb->{menubar}, 1, 'new: lynx, menubar enabled (deprecated)');
+ok(defined $lsmb->{version}, 'new: lynx, version defined');
+
+TODO: {
+ local $TODO = 'Error handling for LedgerSMB';
+ @r = trap{new LedgerSMB('script=foo/bar.pl')};
+ is($trap->die, "Error: Access Denied\n",
+ 'new: directory traversal caught');
+}