4 eval 'use Test::Expect';
6 print "# requires Test::Expect\n1..1\nok 1\n";
9 eval 'use Test::Simple tests => 36';
18 command
=> "$^X -Mblib -MSepia -MSepia::Xref -e Sepia::repl",
19 prompt
=> [-re
=> 'main @[^>]*> '],
21 expect_handle
()->log_file('/tmp/b')
22 if exists $ENV{USER
} && $ENV{USER
} eq 'seano';
25 q
!REPL commands
(prefixed with
','):
26 break [F
:N
[E
]] Set a breakpoint
in F at line N
(or at current
27 position
), enabled
if E evalutes to true
.
28 cd DIR Change directory to DIR
29 debug
[0|1] Enable
or disable debugging
.
30 delete Delete current breakpoint
.
31 format
[dumper
|dump|yaml
|plain
]
32 Set output formatter
(default: dumper
)
33 help Display this message
34 lsbreak List breakpoints
.
35 methods X
[RE
] List methods
for reference
or package X
,
36 matching optional pattern RE
.
38 package PACKAGE Set evaluation
package to PACKAGE
40 reload Reload Sepia
.pm
and relaunch the REPL
.
41 shell CMD
... Run CMD
in the shell
.
42 strict
[0|1] Turn
'use strict' mode on
or off
43 wantarray [0|1] Set
or toggle evaluation context
44 who PACKAGE
[RE
] List variables
and subs
in PACKAGE matching optional
48 expect_send
",wh Sepia::Xref xref";
49 expect_like
qr/xref \s+ xref_definitions \s+ xref_main \s+ xref_cv \s+ xref_exclude \s+ xref_object \s* /x;
51 expect_send
'{ package A; sub a {}; package X; @ISA = qw(A); sub x
{} };';
52 expect ",wh X", '@ISA x
', 'package list
';
53 expect ",me X", 'a x
', 'methods
1';
55 expect '$x = bless {}, X
;', '$x = bless {}, X
;'; # XXX: stupid expect.
56 expect ',me
$x', ",me \$x\na x", 'methods
2'; # XXX: stupid expect.
58 ######################################################################
61 expect_send ',debug
1';
62 expect_send "do '$Bin/testy
.pl
';", 'get testy
';
64 expect 'fib1
10', '55', 'plain fib
';
65 expect ',br testy
.pl
:6', "break testy.pl:6 if 1", 'break?
';
66 expect_send 'fib1
10';
68 expect_like qr|_<$Bin/testy.pl:6>|, 'break in fib
';
69 # XXX AGAIN STUPID EXPECT!
70 expect '$n = 3', "\$n = 3\n3", 'munge lexicals
';
71 expect '$n = 3', "\$n = 3\n3", 'munge lexicals
';
76 expect ',con
', '2', 'return from fib
';
77 expect_send 'fib2
10', 'bad fib
';
78 expect_like qr/_<$Bin\/testy.pl:12>/;
79 expect_send ',q
', 'quit
';
80 # expect_like qr/_<$Bin\/testy.pl:12>/;
81 expect_like qr/error: asdf/, 'saw
die message
';
83 print <<'EOS' if 0; # for debugging
86 { package A; sub a {}; package X; @ISA = qw(A); sub x
{} };