1#!perl 2use strict; 3use warnings; 4use Test::More tests => 30; 5use Test::Expect; 6 7expect_run 8( 9 command => "$^X -Ilib -MCarp::REPL=noprofile t/scripts/12-env.pl", 10 prompt => '$ ', 11 quit => 'exit', 12); 13 14expect_send('1 + 1'); 15expect_like(qr/\b2\b/, 'in the REPL'); 16 17expect_send(':l'); 18expect_like(qr/12-env\.pl/, 'filename is given'); 19expect_like(qr/^\*49: die \@_;/m, 'line with the error has a star'); 20expect_like(qr/^ 44: \$closure->\(sort values \%args\);/m); 21expect_like(qr/^ 45: \}/m); 22expect_like(qr/^ 46: /m); 23expect_like(qr/^ 47: sub five/m); 24expect_like(qr/^ 48: \{/m); 25expect_like(qr/^ 50: \}/m); 26expect_like(qr/^ 51: /m); 27expect_like(qr/^ 52: zero\(\);/m); 28expect_like(qr/^ 53: /m); 29 30expect_send(':u'); 31expect_like(qr/Now at.*frame 1/, 'up a frame'); 32 33expect_send(':l'); 34expect_like(qr/12-env\.pl/, 'filename is given'); 35expect_like(qr/^ 37: \{/m); 36expect_like(qr/^ 38: my \%args = \@_;/m); 37expect_like(qr/^ 39: /m); 38expect_like(qr/^ 40: my \$closure = sub \{/m); 39expect_like(qr/^ 41: my \(\$alpha, \$beta, \$gamma, \$delta\) = \@_;/m); 40expect_like(qr/^\*42: five\(\$alpha \+ \$beta \+ \$gamma \+ \$delta\);/m); 41expect_like(qr/^ 43: \};/m); 42expect_like(qr/^ 44: \$closure->\(sort values %args\);/m); 43expect_like(qr/^ 45: \}/m); 44expect_like(qr/^ 46: /m); 45expect_like(qr/^ 47: sub five/m); 46 47