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