02lex.t pone a prueba una subrutina
Lexical::Analysis::scanner que hemos escrito.
Se supone que su ejecución con entrada $a debe producir
como resultado que la lista @PL::Tutu::tokens
contenga una secuencia dada de caracteres:
$ cat 02lex.t
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 2;
BEGIN { use_ok('PL::Tutu') };
#########################
my $a = 'int a,b; string c; c = "hello"; a = 4; b = a +1; p b';
local @PL::Tutu::tokens = ();
Lexical::Analysis::scanner($a);
ok("@PL::Tutu::tokens" eq
'INT INT ID a PUN , ID b PUN ; STRING STRING ID c PUN ; ID c PUN = STR "hello" PUN ;
ID a PUN = NUM 4 PUN ; ID b PUN = ID a PUN + NUM 1 PUN ; P P ID b');
Ahora probamos de nuevo los tests:
$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM"
"-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01load....ok
t/02lex.....ok
All tests successful.
Files=2, Tests=3, 0 wallclock secs ( 0.15 cusr + 0.02 csys = 0.17 CPU)
Casiano Rodríguez León
