Asm-Preproc

 view release on metacpan or  search on metacpan

t/Lexer.t  view on Meta::CPAN

eval {$lex->()};
is $@, "error: unbalanced token at: /*\n", "unbalanced token";


done_testing();

#------------------------------------------------------------------------------
# TEST
sub t_get {
	my($type, $value, $text, $file, $line_nr) = @_;
	my $id = "[line ".(caller)[2]."]";

	if (defined $type) {
		isa_ok	$token = $lex->(), 'Asm::Preproc::Token';
		is		$token->type, 		$type, 			"$id type $type";
		is		$token->value, 		$value,			"$id value $value";
		is		$token->line->text, $text,			"$id text $text";
		is		$token->line->file, $file,			"$id file ".($file||'');
		is		$token->line->line_nr, $line_nr,	"$id line_nr ".($line_nr||0);
	}
	else {

t/Line.t  view on Meta::CPAN

is $1, "\n", "newline";
ok $line->{text} =~ /\G\z/gcxs, "match";

#------------------------------------------------------------------------------
# error
my $warn; 
$SIG{__WARN__} = sub {$warn = shift};

sub test_error { 
	my($error_msg, $expected_error, $expected_warning) = @_;
	my $line_nr = (caller)[2];
	my $test_name = "[line $line_nr]";
		
	eval {	$line->error($error_msg) };
	is		$@, $expected_error, "$test_name die()";
	
			$warn = "";
			$line->warning($error_msg);
	is 		$warn, $expected_warning, "$test_name warning()";
	$warn = undef;
}

t/Line.t  view on Meta::CPAN

test_error("test error","f1.asm(1) : error: test error\n", "f1.asm(1) : warning: test error\n");

$line->line_nr(0);
test_error("test error","f1.asm : error: test error\n", "f1.asm : warning: test error\n");

is $warn, undef, "no warnings";

#------------------------------------------------------------------------------
# is_equal, is_different
sub is_equal {
	my $line = "(line ". (caller)[2] .")";
	ok	  $line1 == $line2,  "  == $line";
	ok	!($line1 != $line2), "! != $line";
}

sub is_different {
	my $line = "(line ". (caller)[2] .")";
	ok	  $line1 != $line2,  "  != $line";
	ok	!($line1 == $line2), "! == $line";
}

isa_ok 	$line1 = Asm::Preproc::Line->new(),
		'Asm::Preproc::Line';
isa_ok 	$line2 = Asm::Preproc::Line->new(),
		'Asm::Preproc::Line';

is_equal;

t/Token-error.t  view on Meta::CPAN


my $warn; 
$SIG{__WARN__} = sub {$warn = shift};

my $token;

sub test_error { 
	my($error_msg, 
	   $expected_error, $expected_warning, 
	   $expected_error_notoken, $expected_warning_notoken) = @_;
	my $line_nr = (caller)[2];
	my $test_name = "[line $line_nr]";
		
	eval {	$token->error($error_msg) };
	is		$@, $expected_error, "$test_name error()";
	
	eval {	Asm::Preproc::Token->error_at($token, $error_msg) };
	is		$@, $expected_error, "$test_name error_at()";
	
	eval {	Asm::Preproc::Token->error_at(undef, $error_msg) };
	is		$@, $expected_error_notoken, "$test_name error_at(undef)";

t/utils.pl  view on Meta::CPAN


use_ok 'Asm::Preproc';
use_ok 'Asm::Preproc::Line';

our $pp;

#------------------------------------------------------------------------------
# Utilities
sub test_getline { 
	my($text, $file, $line_nr) = @_;
	my $caller_line_nr = (caller)[2];
	my $test_name = "[line $caller_line_nr]";
		
		my $line = $pp->getline;

		isa_ok $line, 'Asm::Preproc::Line';
		
	# convert path separators to Unix-type
	if ($line) {
		my $line_file = $line->file;
		$line_file =~ s/\\/\//g;
		$line->file($line_file);
	}
		
		is_deeply $line, 	
				Asm::Preproc::Line->new($text, $file, $line_nr),
				"$test_name line";
}

sub test_eof {
	my $caller_line_nr = (caller)[2];
	my $test_name = "[line $caller_line_nr]";
	
	for (1..2) {
		my $line = $pp->getline;
		is $line, undef, "$test_name eof";
	}
}

1;



( run in 1.091 second using v1.01-cache-2.11-cpan-1e74a51a04c )