PPI
view release on metacpan or search on metacpan
t/ppi_token_word.t view on Meta::CPAN
[ q{$foo not'bar';}, 'not' ],
[ q{$foo or'bar';}, 'or' ],
[ q{$foo x'bar';}, 'x' ],
[ q{$foo xor'bar';}, 'xor' ],
) {
my ( $code, $expected ) = @$test;
my ( $Document, $statement ) = _parse_to_statement( $code, 'PPI::Statement' );
is( $statement, $code, "$code: statement text matches" );
_compare_child( $statement, 2, 'PPI::Token::Operator', $expected, $code );
_compare_child( $statement, 3, 'PPI::Token::Quote::Single', "'bar'", $code );
_compare_child( $statement, 4, 'PPI::Token::Structure', ';', $code );
}
# PPI::Token::Quote::*
for my $test (
[ q{q'foo';}, q{q'foo'}, 'PPI::Token::Quote::Literal' ],
[ q{qq'foo';}, q{qq'foo'}, 'PPI::Token::Quote::Interpolate' ],
[ q{qr'foo';}, q{qr'foo'}, 'PPI::Token::QuoteLike::Regexp' ],
[ q{qw'foo';}, q{qw'foo'}, 'PPI::Token::QuoteLike::Words' ],
[ q{qx'foo';}, q{qx'foo'}, 'PPI::Token::QuoteLike::Command' ],
) {
my ( $code, $expected, $type ) = @$test;
my ( $Document, $statement ) = _parse_to_statement( $code, 'PPI::Statement' );
is( $statement, $code, "$code: statement text matches" );
_compare_child( $statement, 0, $type, $expected, $code );
_compare_child( $statement, 1, 'PPI::Token::Structure', ';', $code );
}
# PPI::Token::Regexp::*
for my $test (
[ q{m'foo';}, q{m'foo'}, 'PPI::Token::Regexp::Match' ],
[ q{s'foo'bar';}, q{s'foo'bar'}, 'PPI::Token::Regexp::Substitute' ],
[ q{tr'fo'ba';}, q{tr'fo'ba'}, 'PPI::Token::Regexp::Transliterate' ],
[ q{y'fo'ba';}, q{y'fo'ba'}, 'PPI::Token::Regexp::Transliterate' ],
) {
my ( $code, $expected, $type ) = @$test;
my ( $Document, $statement ) = _parse_to_statement( $code, 'PPI::Statement' );
is( $statement, $code, "$code: statement text matches" );
_compare_child( $statement, 0, $type, $expected, $code );
_compare_child( $statement, 1, 'PPI::Token::Structure', ';', $code );
}
# PPI::Token::Word
for my $test (
[ q{abs'3';}, 'abs' ],
[ q{accept'1234',2345;}, 'accept' ],
[ q{alarm'5';}, 'alarm' ],
[ q{atan2'5';}, 'atan2' ],
[ q{bind'5',"";}, 'bind' ],
[ q{binmode'5';}, 'binmode' ],
[ q{bless'foo', 'bar';}, 'bless' ],
[ q{break'foo' when 1;}, 'break' ],
[ q{caller'3';}, 'caller' ],
[ q{chdir'foo';}, 'chdir' ],
[ q{chmod'0777', 'foo';}, 'chmod' ],
[ q{chomp'a';}, 'chomp' ],
[ q{chop'a';}, 'chop' ],
[ q{chown'a';}, 'chown' ],
[ q{chr'32';}, 'chr' ],
[ q{chroot'a';}, 'chroot' ],
[ q{close'1';}, 'close' ],
[ q{closedir'1';}, 'closedir' ],
[ q{connect'1234',$foo;}, 'connect' ],
[ q{continue'a';}, 'continue' ],
[ q{cos'3';}, 'cos' ],
[ q{crypt'foo', 'bar';}, 'crypt' ],
[ q{dbmclose'foo';}, 'dbmclose' ],
[ q{dbmopen'foo','bar';}, 'dbmopen' ],
[ q{default'a' {}}, 'default' ],
[ q{defined'foo';}, 'defined' ],
[ q{delete'foo';}, 'delete' ],
[ q{die'foo';}, 'die' ],
[ q{do'foo';}, 'do' ],
[ q{dump'foo';}, 'dump' ],
[ q{each'foo';}, 'each' ],
[ q{else'foo' {};}, 'else' ],
[ q{elsif'foo' {};}, 'elsif' ],
[ q{endgrent'foo';}, 'endgrent' ],
[ q{endhostent'foo';}, 'endhostent' ],
[ q{endnetent'foo';}, 'endnetent' ],
[ q{endprotoent'foo';}, 'endprotoent' ],
[ q{endpwent'foo';}, 'endpwent' ],
[ q{endservent'foo';}, 'endservent' ],
[ q{eof'foo';}, 'eof' ],
[ q{eval'foo';}, 'eval' ],
[ q{evalbytes'foo';}, 'evalbytes' ],
[ q{exec'foo';}, 'exec' ],
[ q{exists'foo';}, 'exists' ],
[ q{exit'foo';}, 'exit' ],
[ q{exp'foo';}, 'exp' ],
[ q{fc'foo';}, 'fc' ],
[ q{fcntl'1';}, 'fcntl' ],
[ q{fileno'1';}, 'fileno' ],
[ q{flock'1', LOCK_EX;}, 'flock' ],
[ q{fork'';}, 'fork' ],
[ qq{format''=\n.}, 'format' ],
[ q{formline'@',1;}, 'formline' ],
[ q{getc'1';}, 'getc' ],
[ q{getgrent'foo';}, 'getgrent' ],
[ q{getgrgid'1';}, 'getgrgid' ],
[ q{getgrnam'foo';}, 'getgrnam' ],
[ q{gethostbyaddr'1', AF_INET;}, 'gethostbyaddr' ],
[ q{gethostbyname'foo';}, 'gethostbyname' ],
[ q{gethostent'foo';}, 'gethostent' ],
[ q{getlogin'foo';}, 'getlogin' ],
[ q{getnetbyaddr'1', AF_INET;}, 'getnetbyaddr' ],
[ q{getnetbyname'foo';}, 'getnetbyname' ],
[ q{getnetent'foo';}, 'getnetent' ],
[ q{getpeername'foo';}, 'getpeername' ],
[ q{getpgrp'1';}, 'getpgrp' ],
[ q{getppid'1';}, 'getppid' ],
[ q{getpriority'1',2;}, 'getpriority' ],
[ q{getprotobyname'tcp';}, 'getprotobyname' ],
[ q{getprotobynumber'6';}, 'getprotobynumber' ],
[ q{getprotoent'foo';}, 'getprotoent' ],
[ q{getpwent'foo';}, 'getpwent' ],
[ q{getpwnam'foo';}, 'getpwnam' ],
[ q{getpwuid'1';}, 'getpwuid' ],
( run in 2.680 seconds using v1.01-cache-2.11-cpan-f0ff5d10edf )