Aion-Annotation

 view release on metacpan or  search on metacpan

t/aion/annotation/scanned-event.t  view on Meta::CPAN

use common::sense; use open qw/:std :utf8/;  use Carp qw//; use Cwd qw//; use File::Basename qw//; use File::Find qw//; use File::Slurper qw//; use File::Spec qw//; use File::Path qw//; use Scalar::Util qw//;  use Test::More 0.98;  use String::Diff q...
# # NAME
# 
# Aion::Annotation::ScannedEvent - событие завершения сканирования аннотаций в проекте
# 
# # SYNOPSIS
# 
# Файл lib/ScannedListener.pm:
#@> lib/ScannedListener.pm
#>> package ScannedListener;
#>> 
#>> use Aion;
#>> 
#>> has scanned_count => (is => 'ro', isa => Int, default => 0);
#>> 
#>> #@listen Aion::Annotation::ScannedEvent „End scan”
#>> sub scan_ended_listen {
#>> 	my ($self, $event) = @_;
#>> 	$self->{scanned_count}++;
#>> }
#>> 
#>> 1;
#@< EOF
# 
subtest 'SYNOPSIS' => sub { 
use Aion::Annotation;

my $listener = Aion->pleroma->get('ScannedListener');

Aion::Annotation->new->scan;

local ($::_g0 = do {$listener->scanned_count}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '$listener->scanned_count # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;

# 
# # DESCRIPTION
# 
# Когда `Aion::Annotation` завершает сканирование проекта и записывает новые аннотации, то оно инициирует это событие.
# При этом события в эмиттере перечитываются сразу после сканирования и до излучения события.
# 
# Очевидное применение данного события: превращение файла аннотаций в `crontab`.
# 
# # AUTHOR
# 
# Yaroslav O. Kosmina <dart@cpan.org>
# 
# # LICENSE
# 
# âš– **GPLv3**
# 
# # COPYRIGHT
# 
# The Aion::Annotation::ScannedEvent module is copyright © 2026 Yaroslav O. Kosmina. Rusland. All rights reserved.

	::done_testing;
};

::done_testing;



( run in 2.600 seconds using v1.01-cache-2.11-cpan-81fc1098f69 )