Aion
view release on metacpan or search on metacpan
t/aion/types.t view on Meta::CPAN
local ($::_g0 = do {'+23456789' ~~ Tel}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'+23456789\' ~~ Tel # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'+234567890' ~~ Tel}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'+234567890\' ~~ Tel # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'+23456789' ~~ (Tel & Len[9])}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'+23456789\' ~~ (Tel & Len[9]) # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'+234567890' ~~ (Tel & Len[9])}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'+234567890\' ~~ (Tel & Len[9]) # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {['+23456789', '+23456789'] ~~ IntOrArrayRef[9, Tel]}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '[\'+23456789\', \'+23456789\'] ~~ IntOrArrayRef[9, Tel] # -> 1' or ::diag ::_struct_diff($::_g...
local ($::_g0 = do {['+234567890', '+23456789'] ~~ IntOrArrayRef[9, Tel]}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '[\'+234567890\', \'+23456789\'] ~~ IntOrArrayRef[9, Tel] # -> ""' or ::diag ::_struct_diff($::...
local ($::_g0 = do {"" ~~ IntOrArrayRef[8, Tel]}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"" ~~ IntOrArrayRef[8, Tel] # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
coerce IntOrArrayRef[35, Str], from Num, via { int($_ + .5) };
local ($::_g0 = do {IntOrArrayRef([35, Str])->coerce(5.5)}, $::_e0 = "6"); ::ok $::_g0 eq $::_e0, 'IntOrArrayRef([35, Str])->coerce(5.5) # => 6' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {5.5 >> IntOrArrayRef[35, Str]}, $::_e0 = "6"); ::ok $::_g0 eq $::_e0, '5.5 >> IntOrArrayRef[35, Str] # => 6' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {(Tel & Len[9]) < (Tel & Len[10])}, $::_e0 = "1"); ::ok $::_g0 eq $::_e0, '(Tel & Len[9]) < (Tel & Len[10]) # => 1' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# # DESCRIPTION
#
# ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ ÑкÑпоÑÑиÑÑÐµÑ Ð¿Ð¾Ð´Ð¿ÑогÑаммÑ:
#
# * `subtype`, `as`, `init_where`, `where`, `awhere`, `message` â Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð°Ð»Ð¸Ð´Ð°ÑоÑов.
# * `SELF`, `ARGS`, `A`, `B`, `C`, `D`, `M`, `N` â Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² валидаÑоÑаÑ
Ñипа и его аÑгÑменÑов.
# * `coerce`, `from`, `via` â Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ð²ÐµÑÑоÑа знаÑений из одного клаÑÑа в дÑÑгой.
#
# ÐеÑаÑÑ
Ð¸Ñ Ð²Ð°Ð»Ð¸Ð´Ð°ÑоÑов:
#
# Any
# Control
# Union[A, B...]
# Intersection[A, B...]
# Exclude[A...]
# Option[A]
# Wantarray[A, B]
# Item
# External[type]
# Bool
# BoolLike
# Enum[e...]
# Maybe[A]
# Undef
# Defined
# Value
# Version
# Str
# Uni
# Bin
# NonEmptyStr
# StartsWith[start]
# EndsWith[end]
# Email
# Tel
# Url
# Path
# Html
# StrDate
# StrDateTime
# StrMatch[regexp]
# PackageName
# ClassName
# RoleName
# Join[separator]
# Split[separator]
# StrRat
# Num
# PositiveNum
# Int
# PositiveInt
# Nat
# Ref
# Tied`[class]
# LValueRef
# FormatRef
# CodeRef
# NamedCode[subname]
# ProtoCode[prototype]
# ForwardRef
# ImplementRef
# Isa[A...]
# RegexpRef
# ValueRef`[A]
# ScalarRef`[A]
# RefRef`[A]
# GlobRef
# FileHandle
# ArrayRef`[A]
# Tuple[A...]
# CycleTuple[A...]
# HashRef`[A]
# Map[A => B]
# Dict[k => A, ...]
# Object`[class]
# Me
# Rat
# RegexpLike
# CodeLike
# ArrayLike`[A]
# Lim[from?, to]
# HashLike`[A]
# HasProp[p...]
# LimKeys[from?, to]
# Like
# HasMethods[m...]
# Overload`[m...]
# InstanceOf[class...]
# ConsumerOf[role...]
# StrLike
# Len[from?, to]
# NumLike
# Range[from, to]
# Float
# Double
# Bytes[n]
# PositiveBytes[n]
#
# # SUBROUTINES
t/aion/types.t view on Meta::CPAN
# ## Email
#
# СÑÑоки Ñ `@`.
#
::done_testing; }; subtest 'Email' => sub {
local ($::_g0 = do {'@' ~~ Email}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'@\' ~~ Email # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'a@a.a' ~~ Email}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'a@a.a\' ~~ Email # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'a.a' ~~ Email}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'a.a\' ~~ Email # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## Tel
#
# ФоÑÐ¼Ð°Ñ ÑелеÑонов â знак плÑÑ Ð¸ ÑÐµÐ¼Ñ Ð¸Ð»Ð¸ болÑÑе ÑиÑÑ.
#
::done_testing; }; subtest 'Tel' => sub {
local ($::_g0 = do {"+1234567" ~~ Tel}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+1234567" ~~ Tel # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"+1234568" ~~ Tel}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+1234568" ~~ Tel # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"+ 1234567" ~~ Tel}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+ 1234567" ~~ Tel # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"+1234567 " ~~ Tel}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+1234567 " ~~ Tel # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## Url
#
# URL-адÑеÑа веб-ÑайÑов â ÑÑо ÑÑÑока Ñ Ð¿ÑеÑикÑом http:// или https://.
#
::done_testing; }; subtest 'Url' => sub {
local ($::_g0 = do {"http://" ~~ Url}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"http://" ~~ Url # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"http:/" ~~ Url}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"http:/" ~~ Url # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## Path
#
# ÐÑÑи наÑинаÑÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ.
#
::done_testing; }; subtest 'Path' => sub {
local ($::_g0 = do {"/" ~~ Path}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"/" ~~ Path # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"/a/b" ~~ Path}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"/a/b" ~~ Path # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"a/b" ~~ Path}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"a/b" ~~ Path # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## Html
#
# HTML наÑинаеÑÑÑ Ñ `<!doctype html` или `<html`.
#
::done_testing; }; subtest 'Html' => sub {
local ($::_g0 = do {"<HTML" ~~ Html}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"<HTML" ~~ Html # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {" <html" ~~ Html}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '" <html" ~~ Html # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {" <!doctype html>" ~~ Html}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '" <!doctype html>" ~~ Html # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {" <html1>" ~~ Html}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '" <html1>" ~~ Html # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## StrDate
#
# ÐаÑа в ÑоÑмаÑе `yyyy-mm-dd`.
#
::done_testing; }; subtest 'StrDate' => sub {
local ($::_g0 = do {"2001-01-12" ~~ StrDate}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"2001-01-12" ~~ StrDate # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"01-01-01" ~~ StrDate}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"01-01-01" ~~ StrDate # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## StrDateTime
#
# ÐаÑа и вÑÐµÐ¼Ñ Ð² ÑоÑмаÑе `yyyy-mm-dd HH:MM:SS`.
#
::done_testing; }; subtest 'StrDateTime' => sub {
local ($::_g0 = do {"2012-12-01 00:00:00" ~~ StrDateTime}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"2012-12-01 00:00:00" ~~ StrDateTime # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::...
local ($::_g0 = do {"2012-12-01 00:00:00 " ~~ StrDateTime}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"2012-12-01 00:00:00 " ~~ StrDateTime # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef ...
#
# ## StrMatch[regexp]
#
# СопоÑÑавлÑÐµÑ ÑÑÑÐ¾ÐºÑ Ñ ÑегÑлÑÑнÑм вÑÑажением.
#
::done_testing; }; subtest 'StrMatch[regexp]' => sub {
local ($::_g0 = do {' abc ' ~~ StrMatch[qr/abc/]}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\' abc \' ~~ StrMatch[qr/abc/] # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {' abbc ' ~~ StrMatch[qr/abc/]}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\' abbc \' ~~ StrMatch[qr/abc/] # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## ClassName
#
# ÐÐ¼Ñ ÐºÐ»Ð°ÑÑа â ÑÑо Ð¿Ð°ÐºÐµÑ Ñ Ð¼ÐµÑодом `new`.
#
::done_testing; }; subtest 'ClassName' => sub {
local ($::_g0 = do {'Aion::Type' ~~ ClassName}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'Aion::Type\' ~~ ClassName # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'Aion::Types' ~~ ClassName}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'Aion::Types\' ~~ ClassName # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## RoleName
#
# ÐÐ¼Ñ Ñоли â ÑÑо Ð¿Ð°ÐºÐµÑ Ð±ÐµÐ· меÑода `new`, Ñ `@ISA` или Ñ Ð¾Ð´Ð½Ð¸Ð¼ лÑбÑм меÑодом.
#
::done_testing; }; subtest 'RoleName' => sub {
package ExRole1 {
sub any_method {}
}
package ExRole2 {
our @ISA = qw/ExRole1/;
}
local ($::_g0 = do {'ExRole1' ~~ RoleName}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'ExRole1\' ~~ RoleName # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'ExRole2' ~~ RoleName}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'ExRole2\' ~~ RoleName # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'Aion::Type' ~~ RoleName}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'Aion::Type\' ~~ RoleName # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {'Nouname::Empty::Package' ~~ RoleName}, $::_e0 = do {""}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '\'Nouname::Empty::Package\' ~~ RoleName # -> ""' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; unde...
#
# ## StrRat
#
# СÑÑоковое пÑедÑÑавление ÑаÑионалÑнÑÑ
ÑиÑел.
#
# Так как в perl ÑаÑионалÑнÑе ÑиÑла поддеÑживаÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÑÐ°Ð³Ð¼Ñ `bigrat`, коÑоÑÑй вÑе ÑаÑионалÑнÑе ÑиÑла пÑевÑаÑÐ°ÐµÑ Ð² `Math::BigRat`, Ñо иÑполÑзÑÐ...
#
::done_testing; }; subtest 'StrRat' => sub {
local ($::_g0 = do {"6/7" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"6/7" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"-6/7" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"-6/7" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"+6/7" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+6/7" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {6 ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '6 ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"inf" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"inf" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"+Inf" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"+Inf" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"NaN" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"NaN" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"-nan" ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"-nan" ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {6.5 ~~ StrRat}, $::_e0 = do {1}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '6.5 ~~ StrRat # -> 1' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {"6.5 " ~~ StrRat}, $::_e0 = do {''}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '"6.5 " ~~ StrRat # -> \'\'' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## Rat
( run in 0.695 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )