Test-Mimic
view release on metacpan or search on metacpan
lib/Test/Mimic.pm view on Meta::CPAN
# Prevent playback/recording conflicts.
if ( $playback_stage && @to_record > 0 ) {
die "The playback stage and the recording stage can not coincide. Either delete the current" .
"recordings or stop mimicking the following package(s): @to_record";
}
# Record the missing packages.
if ( @to_record != 0 ) {
$recording_required = 1;
require Test::Mimic::Recorder;
my %recorder_prefs = %preferences;
#Only include those packages that need recording.
$recorder_prefs{'packages'} = {};
for my $package (@to_record) {
$recorder_prefs{'packages'}->{$package} = $preferences{'packages'}->{$package};
}
Test::Mimic::Recorder->import(\%recorder_prefs);
}
}
# Handles the code generation after the recording is complete.
# NOTE: This relies on the LIFO structure of END block execution.
END {
if ($recording_required) {
my $generator = Test::Mimic::Generator->new();
$generator->load($save_to);
$generator->write($save_to);
( run in 0.988 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )