Aion

 view release on metacpan or  search on metacpan

t/aion/meta/requires-feature.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::Meta::RequiresFeature - требование фичи для интерфейсов
# 
# # SYNOPSIS
# 
subtest 'SYNOPSIS' => sub { 
use Aion::Types qw(Str);
use Aion::Meta::RequiresFeature;
use Aion::Meta::Feature;

my $req = Aion::Meta::RequiresFeature->new(
	'My::Package', 'name', is => 'rw', isa => Str);

my $feature = Aion::Meta::Feature->new(
	'Other::Package',
	'name', is => 'rw', isa => Str,
	default => 'default_value');

$req->compare($feature);

local ($::_g0 = do {$req->stringify}, $::_e0 = "req name => (is => 'rw', isa => Str) of My::Package"); ::ok $::_g0 eq $::_e0, '$req->stringify  # => req name => (is => \'rw\', isa => Str) of My::Package' or ::diag ::_string_diff($::_g0, $::_e0); unde...

# 
# # DESCRIPTION
# 
# С помощью `req` создаёт требование к фиче которая будет описана в модуле к которому будет подключена роль или который унаследует абстракÑ...
# 
# Проверяться будут только указанные аспекты в фиче.
# 
# # SUBROUTINES
# 
# ## new ($cls, $pkg, $name, @has)
# 
# Конструктор.
# 
# ## pkg ()
# 
# Возвращает имя пакета в котором описано требование к фиче.
# 
# ## name ()
# 
# Возвращает имя фичи.
# 
# ## has ()
# 
# Возвращает массив с аспектами фичи.
# 
# ## opt ()
# 
# Возвращает хеш аспектов фичи.
# 
# ## stringify ()
# 
# Строковое представление фичи.
# 
# ## compare ($feature)
# 
# Сравнивает с фичей, но только указанные аспекты.
# 



( run in 0.598 second using v1.01-cache-2.11-cpan-5a3173703d6 )