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 )