Const-Fast

 view release on metacpan or  search on metacpan

t/10-basics.t  view on Meta::CPAN


use strict;
use warnings FATAL => 'all';
use Test::More 0.88;
use Test::Fatal qw(exception lives_ok);

use Const::Fast;

sub throws_readonly(&@) {
	my ($sub, $desc) = @_;
	my ($file, $line) = (caller)[1,2];
	my $error = qr/\AModification of a read-only value attempted at \Q$file\E line $line\.\Z/;
	local $Test::Builder::Level = $Test::Builder::Level + 1;
	like(exception { $sub->() }, $error, $desc);
}

sub throws_reassign(&@) {
	my ($sub, $desc) = @_;
	my ($file, $line) = (caller)[1,2];
	my $error = qr/\AAttempt to reassign a readonly \w+ at \Q$file\E line $line\.?\Z/;
	local $Test::Builder::Level = $Test::Builder::Level + 1;
	like(exception { $sub->() }, $error, $desc);
}

sub throws_ok(&@) {
	my ($sub, $error, $desc) = @_;
	local $Test::Builder::Level = $Test::Builder::Level + 1;
	like(exception { $sub->() }, $error, $desc);
}



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