PATH=C:\cpanfly-5.22-32\var\megalib\bin;C:\Perl-5.22-32\site\bin;C:\Perl-5.22-32\bin;C:\MinGW-32\bin;C:\cygwin\bin;C:\instantclient_11_2-32;C:\cpanfly-5.22-32\var\megalib\bin;C:\Perl-5.22-32\site\bin;C:\Perl-5.22-32\bin;C:\MinGW-32\bin;C:\cygwin\bin;C:\instantclient_11_2-32;C:\p4;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files (x86)\CMake\bin
Start 2016-05-19T00:15:39
ActivePerl-2201 CPAN-2.10
PATH=C:/CPANFL~3.22-/var/libs/bin;C:\CPANFL~3.22-\var\megalib\bin;C:\PERL-5~1.22-\site\bin;C:\PERL-5~1.22-\bin;C:\MinGW-32\bin;C:\cygwin\bin;C:\INSTAN~3;C:\CPANFL~3.22-\var\megalib\bin;C:\PERL-5~1.22-\site\bin;C:\PERL-5~1.22-\bin;C:\MinGW-32\bin;C:\cygwin\bin;C:\INSTAN~3;C:\p4;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WINDOW~1\v1.0\;C:\PROGRA~1\Git\cmd;C:\PROGRA~2\CMake\bin
Reading 'C:\cpanfly-5.22-32\var\cpan\Metadata'
Database was generated on Wed, 18 May 2016 05:41:02 GMT
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/App-SahUtils-0.21.tar.gz
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/CHECKSUMS
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\App-SahUtils-0.21.tar.gz ok
App-SahUtils-0.21/
App-SahUtils-0.21/bin/
App-SahUtils-0.21/bin/coerce-with-sah
App-SahUtils-0.21/bin/validate-with-sah
App-SahUtils-0.21/bin/normalize-sah-schema
App-SahUtils-0.21/bin/sah-to-human
App-SahUtils-0.21/README
App-SahUtils-0.21/lib/
App-SahUtils-0.21/lib/App/
App-SahUtils-0.21/lib/App/SahUtils.pm
App-SahUtils-0.21/Makefile.PL
App-SahUtils-0.21/Changes
App-SahUtils-0.21/dist.ini
App-SahUtils-0.21/LICENSE
App-SahUtils-0.21/t/
App-SahUtils-0.21/t/00-compile.t
App-SahUtils-0.21/t/release-rinci.t
App-SahUtils-0.21/t/author-pod-syntax.t
App-SahUtils-0.21/t/author-pod-coverage.t
App-SahUtils-0.21/weaver.ini
App-SahUtils-0.21/MANIFEST
App-SahUtils-0.21/META.json
App-SahUtils-0.21/META.yml
Configuring P/PE/PERLANCAR/App-SahUtils-0.21.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Data::Sah 0.76 not found. We have 0.75.
Warning: prerequisite Data::Sah::Coerce 0.002 not found. We have 0.001.
Warning: prerequisite Data::Sah::CoerceJS 0.002 not found.
Warning: prerequisite Perinci::CmdLine::Any 0.09 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for App::SahUtils
Writing MYMETA.yml and MYMETA.json
PERLANCAR/App-SahUtils-0.21.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/App-SahUtils-0.21.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/App-SahUtils-0.21.tar.gz ----
Data::Sah [requires]
Data::Sah::CoerceJS [requires]
Data::Sah::Coerce [requires]
Perinci::CmdLine::Any [requires]
Running test for module 'Data::Sah'
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/Data-Sah-0.76.tar.gz
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Data-Sah-0.76.tar.gz ok
Data-Sah-0.76/
Data-Sah-0.76/README
Data-Sah-0.76/lib/
Data-Sah-0.76/lib/Test/
Data-Sah-0.76/lib/Test/Data/
Data-Sah-0.76/lib/Test/Data/Sah.pm
Data-Sah-0.76/lib/Data/
Data-Sah-0.76/lib/Data/Sah/
Data-Sah-0.76/lib/Data/Sah/Human.pm
Data-Sah-0.76/lib/Data/Sah/Lang/
Data-Sah-0.76/lib/Data/Sah/Lang/zh_CN.pm
Data-Sah-0.76/lib/Data/Sah/Lang/fr_FR.pm
Data-Sah-0.76/lib/Data/Sah/Lang/id_ID.pm
Data-Sah-0.76/lib/Data/Sah/JS.pm
Data-Sah-0.76/lib/Data/Sah/Type/
Data-Sah-0.76/lib/Data/Sah/Type/undef.pm
Data-Sah-0.76/lib/Data/Sah/Type/hash.pm
Data-Sah-0.76/lib/Data/Sah/Type/re.pm
Data-Sah-0.76/lib/Data/Sah/Type/cistr.pm
Data-Sah-0.76/lib/Data/Sah/Type/any.pm
Data-Sah-0.76/lib/Data/Sah/Type/code.pm
Data-Sah-0.76/lib/Data/Sah/Type/bool.pm
Data-Sah-0.76/lib/Data/Sah/Type/all.pm
Data-Sah-0.76/lib/Data/Sah/Type/num.pm
Data-Sah-0.76/lib/Data/Sah/Type/Comparable.pm
Data-Sah-0.76/lib/Data/Sah/Type/duration.pm
Data-Sah-0.76/lib/Data/Sah/Type/array.pm
Data-Sah-0.76/lib/Data/Sah/Type/Sortable.pm
Data-Sah-0.76/lib/Data/Sah/Type/BaseType.pm
Data-Sah-0.76/lib/Data/Sah/Type/date.pm
Data-Sah-0.76/lib/Data/Sah/Type/str.pm
Data-Sah-0.76/lib/Data/Sah/Type/obj.pm
Data-Sah-0.76/lib/Data/Sah/Type/buf.pm
Data-Sah-0.76/lib/Data/Sah/Type/HasElems.pm
Data-Sah-0.76/lib/Data/Sah/Type/float.pm
Data-Sah-0.76/lib/Data/Sah/Type/int.pm
Data-Sah-0.76/lib/Data/Sah/Compiler.pm
Data-Sah-0.76/lib/Data/Sah/Manual/
Data-Sah-0.76/lib/Data/Sah/Manual/Contributing.pod
Data-Sah-0.76/lib/Data/Sah/Manual/Extending.pod
Data-Sah-0.76/lib/Data/Sah/Manual/Developer.pod
Data-Sah-0.76/lib/Data/Sah/Manual.pod
Data-Sah-0.76/lib/Data/Sah/Util/
Data-Sah-0.76/lib/Data/Sah/Util/Role.pm
Data-Sah-0.76/lib/Data/Sah/Util/Type/
Data-Sah-0.76/lib/Data/Sah/Util/Type/Date.pm
Data-Sah-0.76/lib/Data/Sah/Util/Func.pm
Data-Sah-0.76/lib/Data/Sah/Util/TypeX.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/
Data-Sah-0.76/lib/Data/Sah/Compiler/human/
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/undef.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/hash.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/re.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/cistr.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/any.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/code.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/bool.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/all.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/num.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/Comparable.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/duration.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/array.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/Sortable.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/date.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/str.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/obj.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/buf.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/HasElems.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/float.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH/int.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human/TH.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/undef.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/hash.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/re.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/cistr.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/any.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/code.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/bool.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/all.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/num.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/duration.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/array.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/date.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/str.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/obj.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/buf.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/float.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH/int.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js/TH.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/human.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog/
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog/TH/
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog/TH/any.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog/TH/all.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog/TH.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/Prog.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/undef.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/hash.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/re.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/cistr.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/any.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/code.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/bool.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/all.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/num.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/duration.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/array.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/date.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/str.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/obj.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/buf.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/float.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH/int.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/perl/TH.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/TH.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/TextResultRole.pm
Data-Sah-0.76/lib/Data/Sah/Compiler/js.pm
Data-Sah-0.76/lib/Data/Sah/Lang.pm
Data-Sah-0.76/lib/Data/Sah.pm
Data-Sah-0.76/Makefile.PL
Data-Sah-0.76/Changes
Data-Sah-0.76/dist.ini
Data-Sah-0.76/LICENSE
Data-Sah-0.76/t/
Data-Sah-0.76/t/00-compile.t
Data-Sah-0.76/t/01-basics.t
Data-Sah-0.76/t/testlib.pl
Data-Sah-0.76/t/perl-type-re.t
Data-Sah-0.76/t/spectest-perl.t
Data-Sah-0.76/t/util-type-date.t
Data-Sah-0.76/t/human-id_ID.t
Data-Sah-0.76/t/spectest-js.t
Data-Sah-0.76/t/perl-type-date.t
Data-Sah-0.76/t/human-en_US.t
Data-Sah-0.76/t/perl-type-obj.t
Data-Sah-0.76/t/js-type-date.t
Data-Sah-0.76/t/perl-type-code.t
Data-Sah-0.76/t/spectest-human.t-
Data-Sah-0.76/t/perl-type-str.t
Data-Sah-0.76/t/perl-type-float.t
Data-Sah-0.76/t/99-various.t
Data-Sah-0.76/t/js-type-duration.t
Data-Sah-0.76/t/perl-type-duration.t
Data-Sah-0.76/t/author-pod-syntax.t
Data-Sah-0.76/t/perl-type-bool.t
Data-Sah-0.76/t/author-pod-coverage.t
Data-Sah-0.76/t/perl-misc.t
Data-Sah-0.76/t/js-misc.t
Data-Sah-0.76/weaver.ini
Data-Sah-0.76/MANIFEST
Data-Sah-0.76/META.json
Data-Sah-0.76/META.yml
Data-Sah-0.76/devscripts/
Data-Sah-0.76/devscripts/list-missing-translations
Configuring P/PE/PERLANCAR/Data-Sah-0.76.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Data::Sah::Coerce 0.004 not found. We have 0.001.
Warning: prerequisite Nodejs::Util 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Data::Sah
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Data-Sah-0.76.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Data-Sah-0.76.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Data-Sah-0.76.tar.gz ----
Data::Sah::Coerce [requires]
Nodejs::Util [requires]
Running test for module 'Data::Sah::Coerce'
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Data-Sah-Coerce-0.004.tar.gz ok
Data-Sah-Coerce-0.004/
Data-Sah-Coerce-0.004/README
Data-Sah-Coerce-0.004/lib/
Data-Sah-Coerce-0.004/lib/Data/
Data-Sah-Coerce-0.004/lib/Data/Sah/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/date/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/date/int_epoch.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/date/str.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/date/obj_Date.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/duration/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/duration/str_iso8601.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/js/duration/float_secs.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/date/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/date/int_epoch.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/date/str_iso8601.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/date/obj_TimeMoment.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/date/obj_DateTime.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/duration/
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/duration/str_human.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/duration/str_iso8601.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/duration/obj_DateTimeDuration.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/Coerce/perl/duration/float_secs.pm
Data-Sah-Coerce-0.004/lib/Data/Sah/CoerceJS.pm
Data-Sah-Coerce-0.004/Makefile.PL
Data-Sah-Coerce-0.004/Changes
Data-Sah-Coerce-0.004/dist.ini
Data-Sah-Coerce-0.004/LICENSE
Data-Sah-Coerce-0.004/t/
Data-Sah-Coerce-0.004/t/00-compile.t
Data-Sah-Coerce-0.004/t/01-basic.t
Data-Sah-Coerce-0.004/t/release-rinci.t
Data-Sah-Coerce-0.004/t/author-pod-syntax.t
Data-Sah-Coerce-0.004/t/author-pod-coverage.t
Data-Sah-Coerce-0.004/weaver.ini
Data-Sah-Coerce-0.004/MANIFEST
Data-Sah-Coerce-0.004/META.json
Data-Sah-Coerce-0.004/META.yml
Configuring P/PE/PERLANCAR/Data-Sah-Coerce-0.004.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Nodejs::Util 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Data::Sah::Coerce
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Data-Sah-Coerce-0.004.tar.gz ----
Nodejs::Util [requires]
Running test for module 'Nodejs::Util'
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/Nodejs-Util-0.003.tar.gz
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Nodejs-Util-0.003.tar.gz ok
Nodejs-Util-0.003/
Nodejs-Util-0.003/README
Nodejs-Util-0.003/dist.ini
Nodejs-Util-0.003/Makefile.PL
Nodejs-Util-0.003/META.yml
Nodejs-Util-0.003/t/
Nodejs-Util-0.003/t/author-pod-syntax.t
Nodejs-Util-0.003/t/00-compile.t
Nodejs-Util-0.003/t/author-pod-coverage.t
Nodejs-Util-0.003/weaver.ini
Nodejs-Util-0.003/META.json
Nodejs-Util-0.003/MANIFEST
Nodejs-Util-0.003/lib/
Nodejs-Util-0.003/lib/Nodejs/
Nodejs-Util-0.003/lib/Nodejs/Util.pm
Nodejs-Util-0.003/LICENSE
Nodejs-Util-0.003/Changes
Configuring P/PE/PERLANCAR/Nodejs-Util-0.003.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Nodejs::Util
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Nodejs-Util-0.003.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Nodejs-Util-0.003.tar.gz
>>> dmake
cp lib/Nodejs/Util.pm blib\lib\Nodejs\Util.pm
PERLANCAR/Nodejs-Util-0.003.tar.gz
dmake -- OK
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Nodejs/Util.pm loaded ok
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
All tests successful.
Files=3, Tests=1, 1 wallclock secs ( 0.05 usr + 0.05 sys = 0.09 CPU)
Result: PASS
PERLANCAR/Nodejs-Util-0.003.tar.gz
dmake test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Utilities related to Node.js
>>> (cd C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53 && tar cvf - Nodejs-Util-0.003.ppd blib) | gzip -c >C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR/Nodejs-Util-0.003.tar.gz
Nodejs-Util-0.003.ppd
blib/
blib/lib/
blib/lib/Nodejs/
blib/lib/Nodejs/Util.pm
>>> mv C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/Nodejs-Util-0.003.ppd C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
>>> dmake
cp lib/Data/Sah/Coerce/js/duration/str_iso8601.pm blib\lib\Data\Sah\Coerce\js\duration\str_iso8601.pm
cp lib/Data/Sah/Coerce/perl/duration/obj_DateTimeDuration.pm blib\lib\Data\Sah\Coerce\perl\duration\obj_DateTimeDuration.pm
cp lib/Data/Sah/Coerce/perl/date/obj_TimeMoment.pm blib\lib\Data\Sah\Coerce\perl\date\obj_TimeMoment.pm
cp lib/Data/Sah/Coerce/perl/duration/str_human.pm blib\lib\Data\Sah\Coerce\perl\duration\str_human.pm
cp lib/Data/Sah/Coerce/js/date/obj_Date.pm blib\lib\Data\Sah\Coerce\js\date\obj_Date.pm
cp lib/Data/Sah/Coerce/js/duration/float_secs.pm blib\lib\Data\Sah\Coerce\js\duration\float_secs.pm
cp lib/Data/Sah/Coerce/perl/duration/float_secs.pm blib\lib\Data\Sah\Coerce\perl\duration\float_secs.pm
cp lib/Data/Sah/Coerce/js/date/int_epoch.pm blib\lib\Data\Sah\Coerce\js\date\int_epoch.pm
cp lib/Data/Sah/Coerce.pm blib\lib\Data\Sah\Coerce.pm
cp lib/Data/Sah/Coerce/perl/date/obj_DateTime.pm blib\lib\Data\Sah\Coerce\perl\date\obj_DateTime.pm
cp lib/Data/Sah/Coerce/js/date/str.pm blib\lib\Data\Sah\Coerce\js\date\str.pm
cp lib/Data/Sah/Coerce/perl/date/str_iso8601.pm blib\lib\Data\Sah\Coerce\perl\date\str_iso8601.pm
cp lib/Data/Sah/Coerce/perl/date/int_epoch.pm blib\lib\Data\Sah\Coerce\perl\date\int_epoch.pm
cp lib/Data/Sah/Coerce/perl/duration/str_iso8601.pm blib\lib\Data\Sah\Coerce\perl\duration\str_iso8601.pm
cp lib/Data/Sah/CoerceJS.pm blib\lib\Data\Sah\CoerceJS.pm
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ...........
1..15
ok 1 - Data/Sah/Coerce.pm loaded ok
ok 2 - Data/Sah/Coerce/js/date/int_epoch.pm loaded ok
ok 3 - Data/Sah/Coerce/js/date/obj_Date.pm loaded ok
ok 4 - Data/Sah/Coerce/js/date/str.pm loaded ok
ok 5 - Data/Sah/Coerce/js/duration/float_secs.pm loaded ok
ok 6 - Data/Sah/Coerce/js/duration/str_iso8601.pm loaded ok
ok 7 - Data/Sah/Coerce/perl/date/int_epoch.pm loaded ok
ok 8 - Data/Sah/Coerce/perl/date/obj_DateTime.pm loaded ok
ok 9 - Data/Sah/Coerce/perl/date/obj_TimeMoment.pm loaded ok
ok 10 - Data/Sah/Coerce/perl/date/str_iso8601.pm loaded ok
ok 11 - Data/Sah/Coerce/perl/duration/float_secs.pm loaded ok
ok 12 - Data/Sah/Coerce/perl/duration/obj_DateTimeDuration.pm loaded ok
ok 13 - Data/Sah/Coerce/perl/duration/str_human.pm loaded ok
ok 14 - Data/Sah/Coerce/perl/duration/str_iso8601.pm loaded ok
ok 15 - Data/Sah/CoerceJS.pm loaded ok
ok
t/01-basic.t .............
ok 1
1..1
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/release-rinci.t ........ skipped: these tests are for release candidate testing
All tests successful.
Files=5, Tests=16, 2 wallclock secs ( 0.08 usr + 0.03 sys = 0.11 CPU)
Result: PASS
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
dmake test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Coercion rules for Data::Sah
>>> (cd C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io && tar cvf - Data-Sah-Coerce-0.004.ppd blib) | gzip -c >C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Data-Sah-Coerce-0.004.ppd
blib/
blib/lib/
blib/lib/Data/
blib/lib/Data/Sah/
blib/lib/Data/Sah/Coerce/
blib/lib/Data/Sah/Coerce/js/
blib/lib/Data/Sah/Coerce/js/date/
blib/lib/Data/Sah/Coerce/js/date/int_epoch.pm
blib/lib/Data/Sah/Coerce/js/date/obj_Date.pm
blib/lib/Data/Sah/Coerce/js/date/str.pm
blib/lib/Data/Sah/Coerce/js/duration/
blib/lib/Data/Sah/Coerce/js/duration/float_secs.pm
blib/lib/Data/Sah/Coerce/js/duration/str_iso8601.pm
blib/lib/Data/Sah/Coerce/perl/
blib/lib/Data/Sah/Coerce/perl/date/
blib/lib/Data/Sah/Coerce/perl/date/int_epoch.pm
blib/lib/Data/Sah/Coerce/perl/date/obj_DateTime.pm
blib/lib/Data/Sah/Coerce/perl/date/obj_TimeMoment.pm
blib/lib/Data/Sah/Coerce/perl/date/str_iso8601.pm
blib/lib/Data/Sah/Coerce/perl/duration/
blib/lib/Data/Sah/Coerce/perl/duration/float_secs.pm
blib/lib/Data/Sah/Coerce/perl/duration/obj_DateTimeDuration.pm
blib/lib/Data/Sah/Coerce/perl/duration/str_human.pm
blib/lib/Data/Sah/Coerce/perl/duration/str_iso8601.pm
blib/lib/Data/Sah/Coerce.pm
blib/lib/Data/Sah/CoerceJS.pm
>>> mv C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/Data-Sah-Coerce-0.004.ppd C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR
PERLANCAR/Data-Sah-0.76.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7
PERLANCAR/Data-Sah-0.76.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Data-Sah-0.76.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
>>> dmake
cp lib/Data/Sah/Compiler.pm blib\lib\Data\Sah\Compiler.pm
cp lib/Data/Sah/Compiler/human/TH.pm blib\lib\Data\Sah\Compiler\human\TH.pm
cp lib/Data/Sah/Compiler/TH.pm blib\lib\Data\Sah\Compiler\TH.pm
cp lib/Data/Sah/Compiler/human/TH/any.pm blib\lib\Data\Sah\Compiler\human\TH\any.pm
cp lib/Data/Sah/Compiler/human/TH/HasElems.pm blib\lib\Data\Sah\Compiler\human\TH\HasElems.pm
cp lib/Data/Sah/Compiler/human/TH/array.pm blib\lib\Data\Sah\Compiler\human\TH\array.pm
cp lib/Data/Sah/Compiler/Prog/TH.pm blib\lib\Data\Sah\Compiler\Prog\TH.pm
cp lib/Data/Sah/Compiler/Prog/TH/all.pm blib\lib\Data\Sah\Compiler\Prog\TH\all.pm
cp lib/Data/Sah.pm blib\lib\Data\Sah.pm
cp lib/Data/Sah/Compiler/Prog/TH/any.pm blib\lib\Data\Sah\Compiler\Prog\TH\any.pm
cp lib/Data/Sah/Compiler/human/TH/all.pm blib\lib\Data\Sah\Compiler\human\TH\all.pm
cp lib/Data/Sah/Compiler/TextResultRole.pm blib\lib\Data\Sah\Compiler\TextResultRole.pm
cp lib/Data/Sah/Compiler/human/TH/Comparable.pm blib\lib\Data\Sah\Compiler\human\TH\Comparable.pm
cp lib/Data/Sah/Compiler/human/TH/Sortable.pm blib\lib\Data\Sah\Compiler\human\TH\Sortable.pm
cp lib/Data/Sah/Compiler/Prog.pm blib\lib\Data\Sah\Compiler\Prog.pm
cp lib/Data/Sah/Compiler/human.pm blib\lib\Data\Sah\Compiler\human.pm
cp lib/Data/Sah/Compiler/human/TH/cistr.pm blib\lib\Data\Sah\Compiler\human\TH\cistr.pm
cp lib/Data/Sah/Compiler/js.pm blib\lib\Data\Sah\Compiler\js.pm
cp lib/Data/Sah/Compiler/human/TH/str.pm blib\lib\Data\Sah\Compiler\human\TH\str.pm
cp lib/Data/Sah/Compiler/human/TH/obj.pm blib\lib\Data\Sah\Compiler\human\TH\obj.pm
cp lib/Data/Sah/Compiler/human/TH/re.pm blib\lib\Data\Sah\Compiler\human\TH\re.pm
cp lib/Data/Sah/Compiler/human/TH/buf.pm blib\lib\Data\Sah\Compiler\human\TH\buf.pm
cp lib/Data/Sah/Compiler/human/TH/code.pm blib\lib\Data\Sah\Compiler\human\TH\code.pm
cp lib/Data/Sah/Compiler/human/TH/hash.pm blib\lib\Data\Sah\Compiler\human\TH\hash.pm
cp lib/Data/Sah/Compiler/human/TH/bool.pm blib\lib\Data\Sah\Compiler\human\TH\bool.pm
cp lib/Data/Sah/Compiler/human/TH/int.pm blib\lib\Data\Sah\Compiler\human\TH\int.pm
cp lib/Data/Sah/Compiler/human/TH/undef.pm blib\lib\Data\Sah\Compiler\human\TH\undef.pm
cp lib/Data/Sah/Compiler/human/TH/float.pm blib\lib\Data\Sah\Compiler\human\TH\float.pm
cp lib/Data/Sah/Compiler/human/TH/duration.pm blib\lib\Data\Sah\Compiler\human\TH\duration.pm
cp lib/Data/Sah/Compiler/human/TH/date.pm blib\lib\Data\Sah\Compiler\human\TH\date.pm
cp lib/Data/Sah/Compiler/human/TH/num.pm blib\lib\Data\Sah\Compiler\human\TH\num.pm
cp lib/Data/Sah/Compiler/js/TH/code.pm blib\lib\Data\Sah\Compiler\js\TH\code.pm
cp lib/Data/Sah/Compiler/js/TH/cistr.pm blib\lib\Data\Sah\Compiler\js\TH\cistr.pm
cp lib/Data/Sah/Compiler/js/TH/any.pm blib\lib\Data\Sah\Compiler\js\TH\any.pm
cp lib/Data/Sah/Compiler/js/TH/all.pm blib\lib\Data\Sah\Compiler\js\TH\all.pm
cp lib/Data/Sah/Compiler/js/TH/buf.pm blib\lib\Data\Sah\Compiler\js\TH\buf.pm
cp lib/Data/Sah/Compiler/js/TH/int.pm blib\lib\Data\Sah\Compiler\js\TH\int.pm
cp lib/Data/Sah/Compiler/js/TH/date.pm blib\lib\Data\Sah\Compiler\js\TH\date.pm
cp lib/Data/Sah/Compiler/js/TH/obj.pm blib\lib\Data\Sah\Compiler\js\TH\obj.pm
cp lib/Data/Sah/Compiler/js/TH/hash.pm blib\lib\Data\Sah\Compiler\js\TH\hash.pm
cp lib/Data/Sah/Compiler/js/TH.pm blib\lib\Data\Sah\Compiler\js\TH.pm
cp lib/Data/Sah/Compiler/js/TH/re.pm blib\lib\Data\Sah\Compiler\js\TH\re.pm
cp lib/Data/Sah/Compiler/js/TH/float.pm blib\lib\Data\Sah\Compiler\js\TH\float.pm
cp lib/Data/Sah/Compiler/js/TH/num.pm blib\lib\Data\Sah\Compiler\js\TH\num.pm
cp lib/Data/Sah/Compiler/js/TH/duration.pm blib\lib\Data\Sah\Compiler\js\TH\duration.pm
cp lib/Data/Sah/Compiler/js/TH/array.pm blib\lib\Data\Sah\Compiler\js\TH\array.pm
cp lib/Data/Sah/Compiler/js/TH/bool.pm blib\lib\Data\Sah\Compiler\js\TH\bool.pm
cp lib/Data/Sah/Compiler/js/TH/str.pm blib\lib\Data\Sah\Compiler\js\TH\str.pm
cp lib/Data/Sah/Compiler/perl/TH/cistr.pm blib\lib\Data\Sah\Compiler\perl\TH\cistr.pm
cp lib/Data/Sah/Compiler/perl/TH/date.pm blib\lib\Data\Sah\Compiler\perl\TH\date.pm
cp lib/Data/Sah/Compiler/perl/TH/all.pm blib\lib\Data\Sah\Compiler\perl\TH\all.pm
cp lib/Data/Sah/Compiler/perl/TH/float.pm blib\lib\Data\Sah\Compiler\perl\TH\float.pm
cp lib/Data/Sah/Compiler/perl/TH/code.pm blib\lib\Data\Sah\Compiler\perl\TH\code.pm
cp lib/Data/Sah/Compiler/perl/TH/bool.pm blib\lib\Data\Sah\Compiler\perl\TH\bool.pm
cp lib/Data/Sah/Compiler/perl/TH/array.pm blib\lib\Data\Sah\Compiler\perl\TH\array.pm
cp lib/Data/Sah/Compiler/perl/TH/hash.pm blib\lib\Data\Sah\Compiler\perl\TH\hash.pm
cp lib/Data/Sah/Compiler/js/TH/undef.pm blib\lib\Data\Sah\Compiler\js\TH\undef.pm
cp lib/Data/Sah/Compiler/perl/TH/duration.pm blib\lib\Data\Sah\Compiler\perl\TH\duration.pm
cp lib/Data/Sah/Compiler/perl.pm blib\lib\Data\Sah\Compiler\perl.pm
cp lib/Data/Sah/Compiler/perl/TH.pm blib\lib\Data\Sah\Compiler\perl\TH.pm
cp lib/Data/Sah/Compiler/perl/TH/buf.pm blib\lib\Data\Sah\Compiler\perl\TH\buf.pm
cp lib/Data/Sah/Compiler/perl/TH/any.pm blib\lib\Data\Sah\Compiler\perl\TH\any.pm
cp lib/Data/Sah/Type/Comparable.pm blib\lib\Data\Sah\Type\Comparable.pm
cp lib/Data/Sah/Manual/Extending.pod blib\lib\Data\Sah\Manual\Extending.pod
cp lib/Data/Sah/Compiler/perl/TH/num.pm blib\lib\Data\Sah\Compiler\perl\TH\num.pm
cp lib/Data/Sah/Compiler/perl/TH/obj.pm blib\lib\Data\Sah\Compiler\perl\TH\obj.pm
cp lib/Data/Sah/Lang.pm blib\lib\Data\Sah\Lang.pm
cp lib/Data/Sah/Type/BaseType.pm blib\lib\Data\Sah\Type\BaseType.pm
cp lib/Data/Sah/Manual.pod blib\lib\Data\Sah\Manual.pod
cp lib/Data/Sah/Lang/id_ID.pm blib\lib\Data\Sah\Lang\id_ID.pm
cp lib/Data/Sah/Manual/Developer.pod blib\lib\Data\Sah\Manual\Developer.pod
cp lib/Data/Sah/Compiler/perl/TH/str.pm blib\lib\Data\Sah\Compiler\perl\TH\str.pm
cp lib/Data/Sah/Lang/fr_FR.pm blib\lib\Data\Sah\Lang\fr_FR.pm
cp lib/Data/Sah/Human.pm blib\lib\Data\Sah\Human.pm
cp lib/Data/Sah/Manual/Contributing.pod blib\lib\Data\Sah\Manual\Contributing.pod
cp lib/Data/Sah/Lang/zh_CN.pm blib\lib\Data\Sah\Lang\zh_CN.pm
cp lib/Data/Sah/Compiler/perl/TH/re.pm blib\lib\Data\Sah\Compiler\perl\TH\re.pm
cp lib/Data/Sah/JS.pm blib\lib\Data\Sah\JS.pm
cp lib/Data/Sah/Compiler/perl/TH/undef.pm blib\lib\Data\Sah\Compiler\perl\TH\undef.pm
cp lib/Data/Sah/Compiler/perl/TH/int.pm blib\lib\Data\Sah\Compiler\perl\TH\int.pm
cp lib/Data/Sah/Type/int.pm blib\lib\Data\Sah\Type\int.pm
cp lib/Data/Sah/Type/date.pm blib\lib\Data\Sah\Type\date.pm
cp lib/Data/Sah/Type/duration.pm blib\lib\Data\Sah\Type\duration.pm
cp lib/Data/Sah/Type/cistr.pm blib\lib\Data\Sah\Type\cistr.pm
cp lib/Data/Sah/Type/any.pm blib\lib\Data\Sah\Type\any.pm
cp lib/Data/Sah/Type/array.pm blib\lib\Data\Sah\Type\array.pm
cp lib/Data/Sah/Util/Func.pm blib\lib\Data\Sah\Util\Func.pm
cp lib/Data/Sah/Type/str.pm blib\lib\Data\Sah\Type\str.pm
cp lib/Data/Sah/Type/code.pm blib\lib\Data\Sah\Type\code.pm
cp lib/Data/Sah/Type/all.pm blib\lib\Data\Sah\Type\all.pm
cp lib/Data/Sah/Type/Sortable.pm blib\lib\Data\Sah\Type\Sortable.pm
cp lib/Data/Sah/Type/num.pm blib\lib\Data\Sah\Type\num.pm
cp lib/Data/Sah/Type/re.pm blib\lib\Data\Sah\Type\re.pm
cp lib/Data/Sah/Util/Role.pm blib\lib\Data\Sah\Util\Role.pm
cp lib/Data/Sah/Type/HasElems.pm blib\lib\Data\Sah\Type\HasElems.pm
cp lib/Data/Sah/Type/undef.pm blib\lib\Data\Sah\Type\undef.pm
cp lib/Data/Sah/Type/bool.pm blib\lib\Data\Sah\Type\bool.pm
cp lib/Data/Sah/Type/buf.pm blib\lib\Data\Sah\Type\buf.pm
cp lib/Data/Sah/Type/hash.pm blib\lib\Data\Sah\Type\hash.pm
cp lib/Data/Sah/Type/float.pm blib\lib\Data\Sah\Type\float.pm
cp lib/Data/Sah/Type/obj.pm blib\lib\Data\Sah\Type\obj.pm
cp lib/Test/Data/Sah.pm blib\lib\Test\Data\Sah.pm
cp lib/Data/Sah/Util/Type/Date.pm blib\lib\Data\Sah\Util\Type\Date.pm
cp lib/Data/Sah/Util/TypeX.pm blib\lib\Data\Sah\Util\TypeX.pm
PERLANCAR/Data-Sah-0.76.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ...........
1..100
ok 1 - Data/Sah.pm loaded ok
ok 2 - Data/Sah/Compiler.pm loaded ok
ok 3 - Data/Sah/Compiler/Prog.pm loaded ok
ok 4 - Data/Sah/Compiler/Prog/TH.pm loaded ok
ok 5 - Data/Sah/Compiler/Prog/TH/all.pm loaded ok
ok 6 - Data/Sah/Compiler/Prog/TH/any.pm loaded ok
ok 7 - Data/Sah/Compiler/TH.pm loaded ok
ok 8 - Data/Sah/Compiler/TextResultRole.pm loaded ok
ok 9 - Data/Sah/Compiler/human.pm loaded ok
ok 10 - Data/Sah/Compiler/human/TH.pm loaded ok
ok 11 - Data/Sah/Compiler/human/TH/Comparable.pm loaded ok
ok 12 - Data/Sah/Compiler/human/TH/HasElems.pm loaded ok
ok 13 - Data/Sah/Compiler/human/TH/Sortable.pm loaded ok
ok 14 - Data/Sah/Compiler/human/TH/all.pm loaded ok
ok 15 - Data/Sah/Compiler/human/TH/any.pm loaded ok
ok 16 - Data/Sah/Compiler/human/TH/array.pm loaded ok
ok 17 - Data/Sah/Compiler/human/TH/bool.pm loaded ok
ok 18 - Data/Sah/Compiler/human/TH/buf.pm loaded ok
ok 19 - Data/Sah/Compiler/human/TH/cistr.pm loaded ok
ok 20 - Data/Sah/Compiler/human/TH/code.pm loaded ok
ok 21 - Data/Sah/Compiler/human/TH/date.pm loaded ok
ok 22 - Data/Sah/Compiler/human/TH/duration.pm loaded ok
ok 23 - Data/Sah/Compiler/human/TH/float.pm loaded ok
ok 24 - Data/Sah/Compiler/human/TH/hash.pm loaded ok
ok 25 - Data/Sah/Compiler/human/TH/int.pm loaded ok
ok 26 - Data/Sah/Compiler/human/TH/num.pm loaded ok
ok 27 - Data/Sah/Compiler/human/TH/obj.pm loaded ok
ok 28 - Data/Sah/Compiler/human/TH/re.pm loaded ok
ok 29 - Data/Sah/Compiler/human/TH/str.pm loaded ok
ok 30 - Data/Sah/Compiler/human/TH/undef.pm loaded ok
ok 31 - Data/Sah/Compiler/js.pm loaded ok
ok 32 - Data/Sah/Compiler/js/TH.pm loaded ok
ok 33 - Data/Sah/Compiler/js/TH/all.pm loaded ok
ok 34 - Data/Sah/Compiler/js/TH/any.pm loaded ok
ok 35 - Data/Sah/Compiler/js/TH/array.pm loaded ok
ok 36 - Data/Sah/Compiler/js/TH/bool.pm loaded ok
ok 37 - Data/Sah/Compiler/js/TH/buf.pm loaded ok
ok 38 - Data/Sah/Compiler/js/TH/cistr.pm loaded ok
ok 39 - Data/Sah/Compiler/js/TH/code.pm loaded ok
ok 40 - Data/Sah/Compiler/js/TH/date.pm loaded ok
ok 41 - Data/Sah/Compiler/js/TH/duration.pm loaded ok
ok 42 - Data/Sah/Compiler/js/TH/float.pm loaded ok
ok 43 - Data/Sah/Compiler/js/TH/hash.pm loaded ok
ok 44 - Data/Sah/Compiler/js/TH/int.pm loaded ok
ok 45 - Data/Sah/Compiler/js/TH/num.pm loaded ok
ok 46 - Data/Sah/Compiler/js/TH/obj.pm loaded ok
ok 47 - Data/Sah/Compiler/js/TH/re.pm loaded ok
ok 48 - Data/Sah/Compiler/js/TH/str.pm loaded ok
ok 49 - Data/Sah/Compiler/js/TH/undef.pm loaded ok
ok 50 - Data/Sah/Compiler/perl.pm loaded ok
ok 51 - Data/Sah/Compiler/perl/TH.pm loaded ok
ok 52 - Data/Sah/Compiler/perl/TH/all.pm loaded ok
ok 53 - Data/Sah/Compiler/perl/TH/any.pm loaded ok
ok 54 - Data/Sah/Compiler/perl/TH/array.pm loaded ok
ok 55 - Data/Sah/Compiler/perl/TH/bool.pm loaded ok
ok 56 - Data/Sah/Compiler/perl/TH/buf.pm loaded ok
ok 57 - Data/Sah/Compiler/perl/TH/cistr.pm loaded ok
ok 58 - Data/Sah/Compiler/perl/TH/code.pm loaded ok
ok 59 - Data/Sah/Compiler/perl/TH/date.pm loaded ok
ok 60 - Data/Sah/Compiler/perl/TH/duration.pm loaded ok
ok 61 - Data/Sah/Compiler/perl/TH/float.pm loaded ok
ok 62 - Data/Sah/Compiler/perl/TH/hash.pm loaded ok
ok 63 - Data/Sah/Compiler/perl/TH/int.pm loaded ok
ok 64 - Data/Sah/Compiler/perl/TH/num.pm loaded ok
ok 65 - Data/Sah/Compiler/perl/TH/obj.pm loaded ok
ok 66 - Data/Sah/Compiler/perl/TH/re.pm loaded ok
ok 67 - Data/Sah/Compiler/perl/TH/str.pm loaded ok
ok 68 - Data/Sah/Compiler/perl/TH/undef.pm loaded ok
ok 69 - Data/Sah/Human.pm loaded ok
ok 70 - Data/Sah/JS.pm loaded ok
ok 71 - Data/Sah/Lang.pm loaded ok
ok 72 - Data/Sah/Lang/fr_FR.pm loaded ok
ok 73 - Data/Sah/Lang/id_ID.pm loaded ok
ok 74 - Data/Sah/Lang/zh_CN.pm loaded ok
ok 75 - Data/Sah/Type/BaseType.pm loaded ok
ok 76 - Data/Sah/Type/Comparable.pm loaded ok
ok 77 - Data/Sah/Type/HasElems.pm loaded ok
ok 78 - Data/Sah/Type/Sortable.pm loaded ok
ok 79 - Data/Sah/Type/all.pm loaded ok
ok 80 - Data/Sah/Type/any.pm loaded ok
ok 81 - Data/Sah/Type/array.pm loaded ok
ok 82 - Data/Sah/Type/bool.pm loaded ok
ok 83 - Data/Sah/Type/buf.pm loaded ok
ok 84 - Data/Sah/Type/cistr.pm loaded ok
ok 85 - Data/Sah/Type/code.pm loaded ok
ok 86 - Data/Sah/Type/date.pm loaded ok
ok 87 - Data/Sah/Type/duration.pm loaded ok
ok 88 - Data/Sah/Type/float.pm loaded ok
ok 89 - Data/Sah/Type/hash.pm loaded ok
ok 90 - Data/Sah/Type/int.pm loaded ok
ok 91 - Data/Sah/Type/num.pm loaded ok
ok 92 - Data/Sah/Type/obj.pm loaded ok
ok 93 - Data/Sah/Type/re.pm loaded ok
ok 94 - Data/Sah/Type/str.pm loaded ok
ok 95 - Data/Sah/Type/undef.pm loaded ok
ok 96 - Data/Sah/Util/Func.pm loaded ok
ok 97 - Data/Sah/Util/Role.pm loaded ok
ok 98 - Data/Sah/Util/Type/Date.pm loaded ok
ok 99 - Data/Sah/Util/TypeX.pm loaded ok
ok 100 - Test/Data/Sah.pm loaded ok
ok
t/01-basics.t ............
# Subtest: compile()
# Subtest: on_unhandled_clause option
ok 1 - die (default)
ok 2 - warn
ok 3 - ignore
1..3
ok 1 - on_unhandled_clause option
# Subtest: on_unhandled_attr option
ok 1 - die (default)
ok 2 - warn
ok 3 - ignore
1..3
ok 2 - on_unhandled_attr option
# Subtest: skip_clause option
ok 1 - skip_clause in gen_validator() 1
ok 2 - skip_clause in gen_validator() 2
ok 3 - skip_clause in gen_validator() 3
1..3
ok 3 - skip_clause option
1..3
ok 1 - compile()
1..1
ok
# node.js not available, skipping JS test
t/99-various.t ...........
# Subtest: [2014-01-03 ] req_keys clash between $_ and $dt
# Subtest: perl
ok 1 - [] validates
ok 2 - ['a'] doesn't validate
ok 3 - [{}] doesn't validate
ok 4 - [{b=>1}] doesn't validate
ok 5 - [{a=>1}] validates
1..5
ok 1 - perl
1..1
ok 1 - [2014-01-03 ] req_keys clash between $_ and $dt
1..1
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/human-en_US.t ..........
# Subtest: integer
ok 1 - result
1..1
ok 1 - integer
# Subtest: integer
ok 1 - result
1..1
ok 2 - integer
# Subtest: integer, must be at least 1
ok 1 - result
1..1
ok 3 - integer, must be at least 1
# Subtest: integer, must be at least 1, must be at most 10
ok 1 - result
1..1
ok 4 - integer, must be at least 1, must be at most 10
# Subtest: integer, must be divisible by 2 and 5
ok 1 - result
1..1
ok 5 - integer, must be divisible by 2 and 5
# Subtest: integer, must be divisible by all of [2,3,5]
ok 1 - result
1..1
ok 6 - integer, must be divisible by all of [2,3,5]
# Subtest: integer, must be divisible by 2 or 5
ok 1 - result
1..1
ok 7 - integer, must be divisible by 2 or 5
# Subtest: integer, must be divisible by one of [2,3,5]
ok 1 - result
1..1
ok 8 - integer, must be divisible by one of [2,3,5]
# Subtest: integer, must not be divisible by 5
ok 1 - result
1..1
ok 9 - integer, must not be divisible by 5
# Subtest: array of integers
ok 1 - result
1..1
ok 10 - array of integers
# Subtest: (?^x:array .+ each\sarray\selement\smust\sbe: .+
# integer .+ at\sleast\s1)
ok 1 - result
1..1
ok 11 - (?^x:array .+ each\sarray\selement\smust\sbe: .+
# integer .+ at\sleast\s1)
# Subtest: array, 1st element must be: integer
ok 1 - result
1..1
ok 12 - array, 1st element must be: integer
# Subtest: (?^x:must\sbe\sall\sof\sthe\sfollowing: .+
# integer.+even .+
# integer.+divisible\sby\s5 .+
# )
ok 1 - result
1..1
ok 13 - (?^x:must\sbe\sall\sof\sthe\sfollowing: .+
# integer.+even .+
# integer.+divisible\sby\s5 .+
# )
# Subtest: hash, field f must be: decimal number, field i must be: (integer, must be at least 0)
ok 1 - result
1..1
ok 14 - hash, field f must be: decimal number, field i must be: (integer, must be at least 0)
1..14
ok
t/human-id_ID.t ..........
# Subtest: bilangan bulat
ok 1 - result
1..1
ok 1 - bilangan bulat
# Subtest: larik, elemen ke-1 harus: bilangan bulat
ok 1 - result
1..1
ok 2 - larik, elemen ke-1 harus: bilangan bulat
1..2
ok
t/js-misc.t .............. skipped: node.js is not available
t/js-type-date.t ......... skipped: node.js is not available
t/js-type-duration.t ..... skipped: node.js is not available
t/perl-misc.t ............
ok 1 - data [{ a => [] }, { a => [] }] should pass schema [
# "array",
# { of => ["hash", "keys", { a => ["array", "of", "any"] }] },
# ]
# Subtest: compile option: no_modules
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data "2e-10" should pass schema ["float"]
ok 6 - data NaN should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data Inf should pass schema ["float"]
ok 9 - data "-inf" should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data "2e-10" should pass schema ["num"]
ok 14 - data NaN should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data Inf should pass schema ["num"]
ok 17 - data "-inf" should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data NaN should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data NaN should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data "inf" should pass schema ["float", "is_inf", 1]
ok 24 - data "-inf" should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data "inf" should not pass schema ["float", "is_inf", 0]
ok 27 - data "-inf" should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data "inf" should pass schema ["float", "is_pos_inf", 1]
ok 30 - data "-inf" should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data "inf" should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data "-inf" should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data "inf" should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data "-inf" should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data "inf" should pass schema ["float", "is_neg_inf", 0]
ok 39 - data "-inf" should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 2 - compile option: no_modules
# Subtest: compile option: core
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data "2e-10" should pass schema ["float"]
ok 6 - data NaN should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data Inf should pass schema ["float"]
ok 9 - data "-inf" should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data "2e-10" should pass schema ["num"]
ok 14 - data NaN should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data Inf should pass schema ["num"]
ok 17 - data "-inf" should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data NaN should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data NaN should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data "inf" should pass schema ["float", "is_inf", 1]
ok 24 - data "-inf" should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data "inf" should not pass schema ["float", "is_inf", 0]
ok 27 - data "-inf" should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data "inf" should pass schema ["float", "is_pos_inf", 1]
ok 30 - data "-inf" should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data "inf" should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data "-inf" should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data "inf" should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data "-inf" should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data "inf" should pass schema ["float", "is_neg_inf", 0]
ok 39 - data "-inf" should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 3 - compile option: core
# Subtest: compile option: core_or_pp
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data "2e-10" should pass schema ["float"]
ok 6 - data NaN should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data Inf should pass schema ["float"]
ok 9 - data "-inf" should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data "2e-10" should pass schema ["num"]
ok 14 - data NaN should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data Inf should pass schema ["num"]
ok 17 - data "-inf" should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data NaN should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data NaN should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data "inf" should pass schema ["float", "is_inf", 1]
ok 24 - data "-inf" should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data "inf" should not pass schema ["float", "is_inf", 0]
ok 27 - data "-inf" should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data "inf" should pass schema ["float", "is_pos_inf", 1]
ok 30 - data "-inf" should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data "inf" should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data "-inf" should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data "inf" should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data "-inf" should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data "inf" should pass schema ["float", "is_neg_inf", 0]
ok 39 - data "-inf" should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 4 - compile option: core_or_pp
# Subtest: compile option: pp
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data "2e-10" should pass schema ["float"]
ok 6 - data NaN should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data Inf should pass schema ["float"]
ok 9 - data "-inf" should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data "2e-10" should pass schema ["num"]
ok 14 - data NaN should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data Inf should pass schema ["num"]
ok 17 - data "-inf" should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data NaN should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data NaN should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data "inf" should pass schema ["float", "is_inf", 1]
ok 24 - data "-inf" should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data "inf" should not pass schema ["float", "is_inf", 0]
ok 27 - data "-inf" should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data "inf" should pass schema ["float", "is_pos_inf", 1]
ok 30 - data "-inf" should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data "inf" should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data "-inf" should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data "inf" should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data "-inf" should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data "inf" should pass schema ["float", "is_neg_inf", 0]
ok 39 - data "-inf" should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 5 - compile option: pp
1..5
ok
t/perl-type-bool.t .......
ok 1 - data "" should pass schema ["bool*", "is_true", 0]
ok 2 - data "a" should pass schema ["bool*", "is_true", 1]
ok 3 - data 0.1 should pass schema ["bool*", "is_true", 1]
1..3
ok
t/perl-type-code.t .......
ok 1 - data "a" should not pass schema ["code"]
ok 2 - data sub { ... } should pass schema ["code"]
1..2
ok
t/perl-type-date.t .......
ok 1 - data "2014-01-25" should pass schema ["date"]
ok 2 - data "2014-01-25T23:59:59Z" should pass schema ["date"]
ok 3 - data "2014-02-30" should not pass schema ["date"]
ok 4 - data "2014-01-25T23:59:70Z" should not pass schema ["date"]
ok 5 - data "x" should not pass schema ["date"]
ok 6 - data 100000000 should pass schema ["date"]
ok 7 - data 100000 should pass schema ["date"]
ok 8 - data bless({
# formatter => undef,
# local_c => {
# day => 19,
# day_of_quarter => 49,
# day_of_week => 4,
# day_of_year => 140,
# hour => 7,
# minute => 16,
# month => 5,
# quarter => 2,
# second => 54,
# year => 2016,
# },
# local_rd_days => 736103,
# local_rd_secs => 26214,
# locale => bless({
# am_pm_abbreviated => ["AM", "PM"],
# available_formats => {
# d => "d",
# E => "ccc",
# Ed => "d E",
# EHm => "E HH:mm",
# Ehm => "E h:mm a",
# Ehms => "E h:mm:ss a",
# EHms => "E HH:mm:ss",
# Gy => "y G",
# GyMMM => "MMM y G",
# GyMMMd => "MMM d, y G",
# GyMMMEd => "E, MMM d, y G",
# H => "HH",
# h => "h a",
# hm => "h:mm a",
# Hm => "HH:mm",
# Hms => "HH:mm:ss",
# hms => "h:mm:ss a",
# Hmsv => "HH:mm:ss v",
# hmsv => "h:mm:ss a v",
# hmv => "h:mm a v",
# Hmv => "HH:mm v",
# M => "L",
# Md => "M/d",
# MEd => "E, M/d",
# MMM => "LLL",
# MMMd => "MMM d",
# MMMEd => "E, MMM d",
# MMMMd => "MMMM d",
# ms => "mm:ss",
# y => "y",
# yM => "M/y",
# yMd => "M/d/y",
# yMEd => "E, M/d/y",
# yMMM => "MMM y",
# yMMMd => "MMM d, y",
# yMMMEd => "E, MMM d, y",
# yMMMM => "MMMM y",
# yQQQ => "QQQ y",
# yQQQQ => "QQQQ y",
# },
# code => "en-US",
# date_format_full => "EEEE, MMMM d, y",
# date_format_long => "MMMM d, y",
# date_format_medium => "MMM d, y",
# date_format_short => "M/d/yy",
# datetime_format_full => "{1} 'at' {0}",
# datetime_format_long => "{1} 'at' {0}",
# datetime_format_medium => "{1}, {0}",
# datetime_format_short => "{1}, {0}",
# day_format_abbreviated => ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
# day_format_narrow => ["M", "T", "W", "T", "F", "S", "S"],
# day_format_wide => [
# "Monday",
# "Tuesday",
# "Wednesday",
# "Thursday",
# "Friday",
# "Saturday",
# "Sunday",
# ],
# day_stand_alone_abbreviated => ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
# day_stand_alone_narrow => ["M", "T", "W", "T", "F", "S", "S"],
# day_stand_alone_wide => [
# "Monday",
# "Tuesday",
# "Wednesday",
# "Thursday",
# "Friday",
# "Saturday",
# "Sunday",
# ],
# default_date_format_length => "medium",
# default_time_format_length => "medium",
# era_abbreviated => ["BC", "AD"],
# era_narrow => ["B", "A"],
# era_wide => ["Before Christ", "Anno Domini"],
# first_day_of_week => 7,
# glibc_date_1_format => "%a %b %e %H:%M:%S %Z %Y",
# glibc_date_format => "%m/%d/%Y",
# glibc_datetime_format => "%a %d %b %Y %r %Z",
# glibc_time_12_format => "%I:%M:%S %p",
# glibc_time_format => "%r",
# language => "English",
# month_format_abbreviated => [
# "Jan",
# "Feb",
# "Mar",
# "Apr",
# "May",
# "Jun",
# "Jul",
# "Aug",
# "Sep",
# "Oct",
# "Nov",
# "Dec",
# ],
# month_format_narrow => ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
# month_format_wide => [
# "January",
# "February",
# "March",
# "April",
# "May",
# "June",
# "July",
# "August",
# "September",
# "October",
# "November",
# "December",
# ],
# month_stand_alone_abbreviated => [
# "Jan",
# "Feb",
# "Mar",
# "Apr",
# "May",
# "Jun",
# "Jul",
# "Aug",
# "Sep",
# "Oct",
# "Nov",
# "Dec",
# ],
# month_stand_alone_narrow => ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
# month_stand_alone_wide => [
# "January",
# "February",
# "March",
# "April",
# "May",
# "June",
# "July",
# "August",
# "September",
# "October",
# "November",
# "December",
# ],
# name => "English United States",
# native_language => "English",
# native_name => "English United States",
# native_script => undef,
# native_territory => "United States",
# native_variant => undef,
# quarter_format_abbreviated => ["Q1" .. "Q4"],
# quarter_format_narrow => [1 .. 4],
# quarter_format_wide => ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
# quarter_stand_alone_abbreviated => ["Q1" .. "Q4"],
# quarter_stand_alone_narrow => [1 .. 4],
# quarter_stand_alone_wide => ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
# script => undef,
# territory => "United States",
# time_format_full => "h:mm:ss a zzzz",
# time_format_long => "h:mm:ss a z",
# time_format_medium => "h:mm:ss a",
# time_format_short => "h:mm a",
# variant => undef,
# version => 29,
# }, "DateTime::Locale::FromData"),
# offset_modifier => 0,
# rd_nanosecs => 0,
# tz => bless({ name => "UTC" }, "DateTime::TimeZone::UTC"),
# utc_c => { epoch => 1463642214 },
# utc_rd_days => 736103,
# utc_rd_secs => 26214,
# utc_year => 2017,
# }, "DateTime") should pass schema ["date"]
1..8
ok
t/perl-type-duration.t ...
ok 1 - data "P1Y2M" should pass schema ["duration"]
ok 2 - data "2 days 13 hours" should pass schema ["duration"]
ok 3 - data "2 xxx" should not pass schema ["duration"]
ok 4 - data 1 should pass schema ["duration"]
ok 5 - data 864000 should pass schema ["duration"]
ok 6 - data "x" should not pass schema ["duration"]
ok 7 - data "1Y2M" should not pass schema ["duration"]
ok 8 - data bless({
# days => 0,
# end_of_month => "wrap",
# minutes => 0,
# months => 14,
# nanoseconds => 0,
# seconds => 0,
# }, "DateTime::Duration") should pass schema ["duration"]
1..8
ok
t/perl-type-float.t ......
ok 1 - data 1 should not pass schema ["float", "is_nan", 1]
ok 2 - data Inf should not pass schema ["float", "is_nan", 1]
ok 3 - data NaN should pass schema ["float", "is_nan", 1]
ok 4 - data 1 should not pass schema ["float", "is_inf", 1]
ok 5 - data NaN should not pass schema ["float", "is_inf", 1]
ok 6 - data -Inf should pass schema ["float", "is_inf", 1]
ok 7 - data Inf should pass schema ["float", "is_inf", 1]
ok 8 - data 1 should not pass schema ["float", "is_pos_inf", 1]
ok 9 - data NaN should not pass schema ["float", "is_pos_inf", 1]
ok 10 - data -Inf should not pass schema ["float", "is_pos_inf", 1]
ok 11 - data Inf should pass schema ["float", "is_pos_inf", 1]
ok 12 - data 1 should not pass schema ["float", "is_neg_inf", 1]
ok 13 - data NaN should not pass schema ["float", "is_neg_inf", 1]
ok 14 - data -Inf should pass schema ["float", "is_neg_inf", 1]
ok 15 - data Inf should not pass schema ["float", "is_neg_inf", 1]
1..15
ok
t/perl-type-obj.t ........
ok 1 - data "" should not pass schema ["obj*"]
ok 2 - data [] should not pass schema ["obj*"]
ok 3 - data {} should not pass schema ["obj*"]
ok 4 - data bless({}, "Data::Sah") should pass schema ["obj*"]
ok 5 - data bless({}, "Data::Sah") should pass schema ["obj*", "isa", "Exporter"]
ok 6 - data bless({}, "Data::Sah") should not pass schema ["obj*", "isa", "Foo"]
ok 7 - data bless({}, "Data::Sah") should pass schema ["obj*", "!isa", "Foo"]
ok 8 - data bless({}, "Data::Sah") should pass schema ["obj*", "can", "get_compiler"]
ok 9 - data bless({}, "Data::Sah") should pass schema ["obj*", "can&", ["get_compiler", "gen_validator"]]
ok 10 - data bless({}, "Data::Sah") should not pass schema ["obj*", "can&", ["get_compiler", "foo"]]
ok 11 - data bless({}, "Data::Sah") should pass schema ["obj*", "can|", ["get_compiler", "foo"]]
1..11
ok
t/perl-type-re.t .........
ok 1 - data "" should pass schema ["re*"]
ok 2 - data "x" should pass schema ["re*"]
ok 3 - data qr// should pass schema ["re*"]
ok 4 - data "(" should not pass schema ["re*"]
ok 5 - data [] should not pass schema ["re*"]
ok 6 - data {} should not pass schema ["re*"]
1..6
ok
t/perl-type-str.t ........
ok 1 - data "a" should not pass schema ["str*", "match", qr|/|]
ok 2 - data "a/" should pass schema ["str*", "match", qr|/|]
1..2
ok
t/spectest-js.t .......... skipped: node.js is not available
# Loading 10-type-all.json ...
# Loading 10-type-any.json ...
# Loading 10-type-array.json ...
# Skipping test (tags=clause:check_each_index, type, type:array) array0115: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:array) array0116: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0117: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0118: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:array) array0119: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:array) array0120: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:array) array0127: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:array) array0128: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:array) array0129: prop:elems: properties are not yet implemented
# Loading 10-type-bool.json ...
# Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0113: !between (nok): currently failing
# Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0114: !between (ok): currently failing
# Skipping test (tags=clause:between, op, op:not, type, type:bool) bool0115: between.op=not (nok): currently failing
# Skipping test (tags=clause:between, op, op:not, type, type:bool) bool0116: between.op=not (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0117: between& (no items): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0118: between& (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0119: between& (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0120: between& (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0121: between& (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0123: between.op=and (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0124: between.op=and (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0125: between.op=and (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0126: between.op=and (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0127: between| (no items): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0128: between| (ok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0129: between| (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0130: between| (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0131: between| (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0132: between.op=or (no items): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0133: between.op=or (ok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0134: between.op=or (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0135: between.op=or (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0136: between.op=or (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0137: between.op=none (empty items): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0138: between.op=none (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0139: between.op=none (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0140: between.op=none (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0141: between.op=none (ok + ok): currently failing
# Loading 10-type-buf.json ...
# Skipping test (tags=clause:check_each_index, type, type:buf) buf0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:buf) buf0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:buf) buf0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:buf) buf0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:buf) buf0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:buf) buf0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:buf) buf0176: prop:elems: properties are not yet implemented
# Loading 10-type-cistr.json ...
# Skipping test (tags=clause:check_each_index, type, type:cistr) cistr0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:cistr) cistr0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:cistr) cistr0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:cistr) cistr0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:cistr) cistr0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:cistr) cistr0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:cistr) cistr0176: prop:elems: properties are not yet implemented
# Loading 10-type-float.json ...
# Loading 10-type-hash.json ...
# Skipping test (tags=clause:check_each_index, type, type:hash) hash0119: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_key, type, type:hash) hash0120: check_each_key: clause check_each_key not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:hash) hash0121: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:check_each_value, type, type:hash) hash0122: check_each_value: clause check_each_value not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0123: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0124: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:hash) hash0125: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:hash) hash0126: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:hash) hash0131: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:hash) hash0132: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0133: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:hash) hash0134: prop:elems: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0135: prop:values: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0214: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0215: prop:values: properties are not yet implemented
# Loading 10-type-int.json ...
# Loading 10-type-num.json ...
# Loading 10-type-obj.json ...
# Skipping test (tags=prop:meths, type, type:obj) obj0003: prop:meths (nok): properties are not yet implemented
# Skipping test (tags=prop:attrs, type, type:obj) obj0004: prop:attrs (nok): properties are not yet implemented
# Loading 10-type-str.json ...
# Skipping test (tags=clause:check_each_index, type, type:str) str0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:str) str0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:str) str0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:str) str0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:str) str0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:str) str0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:str) str0176: prop:elems: properties are not yet implemented
# Loading 10-type-undef.json ...
t/spectest-perl.t ........
# Subtest: 00-normalize_schema.json
# Subtest: schema must be defined
ok 1 - dies
1..1
ok 1 - schema must be defined
# Subtest: string: type name must not be blank
ok 1 - dies
1..1
ok 2 - string: type name must not be blank
# Subtest: string: type name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 3 - string: type name must be valid (ok)
# Subtest: string: type name must be valid (ok, has namespace)
ok 1 - result
ok 2 - doesn't die
1..2
ok 4 - string: type name must be valid (ok, has namespace)
# Subtest: string: type name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 5 - string: type name must be valid (fail, has whitespace)
# Subtest: string: type name must be valid (fail, starts with number)
ok 1 - dies
1..1
ok 6 - string: type name must be valid (fail, starts with number)
# Subtest: string: * suffix is allowed and normalized to req clause
ok 1 - result
ok 2 - doesn't die
1..2
ok 7 - string: * suffix is allowed and normalized to req clause
# Subtest: string: multiple * suffix is not allowed
ok 1 - dies
1..1
ok 8 - string: multiple * suffix is not allowed
# Subtest: array: must not be empty
ok 1 - dies
1..1
ok 9 - array: must not be empty
# Subtest: array: type name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 10 - array: type name must be valid (ok)
# Subtest: array: type name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 11 - array: type name must be valid (fail, has whitespace)
# Subtest: array: * suffix is allowed and normalized to req clause
ok 1 - result
ok 2 - doesn't die
1..2
ok 12 - array: * suffix is allowed and normalized to req clause
# Subtest: array: clause set must be hash (ok, empty)
ok 1 - result
ok 2 - doesn't die
1..2
ok 13 - array: clause set must be hash (ok, empty)
# Subtest: array: clause set must be hash (ok, has some clauses)
ok 1 - result
ok 2 - doesn't die
1..2
ok 14 - array: clause set must be hash (ok, has some clauses)
# Subtest: array: clause set must be hash (fail, string)
ok 1 - dies
1..1
ok 15 - array: clause set must be hash (fail, string)
# Subtest: array: clause set must be hash (fail, array)
ok 1 - dies
1..1
ok 16 - array: clause set must be hash (fail, array)
# Subtest: array: clause name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 17 - array: clause name must be valid (fail, has whitespace)
# Subtest: array: clause name must be valid (fail, starts with number)
ok 1 - dies
1..1
ok 18 - array: clause name must be valid (fail, starts with number)
# Subtest: array: * suffix is allowed and normalized to req clause (2-element-array schema)
ok 1 - result
ok 2 - doesn't die
1..2
ok 19 - array: * suffix is allowed and normalized to req clause (2-element-array schema)
# Subtest: array: * suffix is allowed and normalized to req clause (overrides existing req clause)
ok 1 - result
ok 2 - doesn't die
1..2
ok 20 - array: * suffix is allowed and normalized to req clause (overrides existing req clause)
# Subtest: array: clause attribute name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 21 - array: clause attribute name must be valid (ok)
# Subtest: array: clause attribute name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 22 - array: clause attribute name must be valid (fail, has whitespace)
# Subtest: array: setting attribute on clause "" is permitted
ok 1 - result
ok 2 - doesn't die
1..2
ok 23 - array: setting attribute on clause "" is permitted
# Subtest: array: setting value attribute on clause "" using syntax "" is not permitted
ok 1 - dies
1..1
ok 24 - array: setting value attribute on clause "" using syntax "" is not permitted
# Subtest: array: flattened clause set is permitted
ok 1 - result
ok 2 - doesn't die
1..2
ok 25 - array: flattened clause set is permitted
# Subtest: array: flattened clause set is permitted (with * suffix)
ok 1 - result
ok 2 - doesn't die
1..2
ok 26 - array: flattened clause set is permitted (with * suffix)
# Subtest: array: flattened clause set is permitted (fail, odd number of elements)
ok 1 - dies
1..1
ok 27 - array: flattened clause set is permitted (fail, odd number of elements)
# Subtest: array: expression (clause=) is allowed on clause and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 28 - array: expression (clause=) is allowed on clause and normalized
# Subtest: array: expression (clause=) is allowed on clause.attr and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 29 - array: expression (clause=) is allowed on clause.attr and normalized
# Subtest: array: expression (clause=) must not conflict with literal value (fail)
ok 1 - dies
1..1
ok 30 - array: expression (clause=) must not conflict with literal value (fail)
# Subtest: array: expression (clause.attr=) must not conflict with literal value (fail)
ok 1 - dies
1..1
ok 31 - array: expression (clause.attr=) must not conflict with literal value (fail)
# Subtest: array: !clause is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 32 - array: !clause is normalized
# Subtest: array: !clause.attr is not allowed
ok 1 - dies
1..1
ok 33 - array: !clause.attr is not allowed
# Subtest: array: clause| is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 34 - array: clause| is normalized
# Subtest: array: clause.attr| is not allowed
ok 1 - dies
1..1
ok 35 - array: clause.attr| is not allowed
# Subtest: array: clause| value must be array (fail, not array)
ok 1 - dies
1..1
ok 36 - array: clause| value must be array (fail, not array)
# Subtest: array: clause& is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 37 - array: clause& is normalized
# Subtest: array: clause.attr& is not allowed
ok 1 - dies
1..1
ok 38 - array: clause.attr& is not allowed
# Subtest: array: clause& value must be array (fail, not array)
ok 1 - dies
1..1
ok 39 - array: clause& value must be array (fail, not array)
# Subtest: array: !clause cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 40 - array: !clause cannot be mixed with merge prefix
# Subtest: array: !clause cannot be mixed with expression
ok 1 - dies
1..1
ok 41 - array: !clause cannot be mixed with expression
# Subtest: array: clause| cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 42 - array: clause| cannot be mixed with merge prefix
# Subtest: array: clause| cannot be mixed with expression
ok 1 - dies
1..1
ok 43 - array: clause| cannot be mixed with expression
# Subtest: array: clause& cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 44 - array: clause& cannot be mixed with merge prefix
# Subtest: array: clause& cannot be mixed with expression
ok 1 - dies
1..1
ok 45 - array: clause& cannot be mixed with expression
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c)
ok 1 - dies
1..1
ok 46 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c)
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c|)
ok 1 - dies
1..1
ok 47 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c|)
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c&)
ok 1 - dies
1..1
ok 48 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c&)
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c|)
ok 1 - dies
1..1
ok 49 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c|)
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c&)
ok 1 - dies
1..1
ok 50 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c&)
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c| & c&)
ok 1 - dies
1..1
ok 51 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c| & c&)
# Subtest: array: merge prefix in clause is allowed
ok 1 - result
ok 2 - doesn't die
1..2
ok 52 - array: merge prefix in clause is allowed
# Subtest: array: clause(LANG) shortcut is allowed and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 53 - array: clause(LANG) shortcut is allowed and normalized
# Subtest: array: clause.attr(LANG) shortcut is allowed and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 54 - array: clause.attr(LANG) shortcut is allowed and normalized
# Subtest: array: clause(LANG) shortcut must not conflict with existing attribute
ok 1 - dies
1..1
ok 55 - array: clause(LANG) shortcut must not conflict with existing attribute
# Subtest: array: invalid clause(LANG) shortcut is not allowed (1)
ok 1 - dies
1..1
ok 56 - array: invalid clause(LANG) shortcut is not allowed (1)
# Subtest: array: invalid clause(LANG) shortcut is not allowed (2)
ok 1 - dies
1..1
ok 57 - array: invalid clause(LANG) shortcut is not allowed (2)
# Subtest: array: extras must be hash (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 58 - array: extras must be hash (ok)
# Subtest: array: extras must be hash (fail, not hash)
ok 1 - dies
1..1
ok 59 - array: extras must be hash (fail, not hash)
# Subtest: array: def in extras must be hash (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 60 - array: def in extras must be hash (ok)
# Subtest: array: def in extras must be hash (fail)
ok 1 - dies
1..1
ok 61 - array: def in extras must be hash (fail)
# Subtest: array: extra elements are not permitted
ok 1 - dies
1..1
ok 62 - array: extra elements are not permitted
# Subtest: hash form (old DS syntax) is no longer recognized
ok 1 - dies
1..1
ok 63 - hash form (old DS syntax) is no longer recognized
ok 64
1..64
ok 1 - 00-normalize_schema.json
# Subtest: 01-merge_clause_sets.json
# Subtest: no clause sets results in nothing done
ok 1 - result
ok 2 - doesn't die
1..2
ok 1 - no clause sets results in nothing done
# Subtest: a single clause set results in nothing done
ok 1 - result
ok 2 - doesn't die
1..2
ok 2 - a single clause set results in nothing done
# Subtest: no merge prefixes results in appending clause sets
ok 1 - result
ok 2 - doesn't die
1..2
ok 3 - no merge prefixes results in appending clause sets
# Subtest: normal mode merging replaces clauses on the left
ok 1 - result
ok 2 - doesn't die
1..2
ok 4 - normal mode merging replaces clauses on the left
# Subtest: additive mode merging adds values (array)
ok 1 - result
ok 2 - doesn't die
1..2
ok 5 - additive mode merging adds values (array)
# Subtest: concative mode merging concatenates values (string)
ok 1 - result
ok 2 - doesn't die
1..2
ok 6 - concative mode merging concatenates values (string)
# Subtest: subtractive mode merging concatenates values (int)
ok 1 - result
ok 2 - doesn't die
1..2
ok 7 - subtractive mode merging concatenates values (int)
# Subtest: delete mode merging deletes values
ok 1 - result
ok 2 - doesn't die
1..2
ok 8 - delete mode merging deletes values
# Subtest: keep mode prevents overriding of values
ok 1 - result
ok 2 - doesn't die
1..2
ok 9 - keep mode prevents overriding of values
ok 10
1..10
ok 2 - 01-merge_clause_sets.json
# Subtest: 10-type-all.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 3,
# 'name' => 'all0001: of (nok + nok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0001: of (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:all) all0001: of (nok + nok)
# {
# 'input' => 2,
# 'name' => 'all0002: of (ok + nok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0002: of (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:all) all0002: of (ok + nok)
# {
# 'input' => 5,
# 'name' => 'all0003: of (nok + ok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0003: of (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:all) all0003: of (nok + ok)
# {
# 'input' => 10,
# 'name' => 'all0004: of (ok + ok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:all) all0004: of (ok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:all) all0004: of (ok + ok)
ok 5
1..5
ok 3 - 10-type-all.json
# Subtest: 10-type-any.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 3,
# 'name' => 'any0001: of (nok + nok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:any) any0001: of (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:any) any0001: of (nok + nok)
# {
# 'errors' => 2,
# 'input' => [
# []
# ],
# 'name' => 'any0002: of (nok + nok 2)',
# 'schema' => [
# 'any',
# 'of',
# [
# 'str',
# [
# 'array',
# 'of',
# 'str'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:any) any0002: of (nok + nok 2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:any) any0002: of (nok + nok 2)
# {
# 'input' => 2,
# 'name' => 'any0003: of (ok + nok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0003: of (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:any) any0003: of (ok + nok)
# {
# 'input' => 5,
# 'name' => 'any0004: of (nok + ok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0004: of (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:any) any0004: of (nok + ok)
# {
# 'input' => 10,
# 'name' => 'any0005: of (ok + ok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0005: of (ok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:any) any0005: of (ok + ok)
ok 6
1..6
ok 4 - 10-type-any.json
# Subtest: 10-type-array.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => [],
# 'name' => 'array0001: type check: must accept []',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0001: type check: must accept []
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:array) array0001: type check: must accept []
# {
# 'input' => [
# 1,
# 'a'
# ],
# 'name' => 'array0002: type check: must accept [1,"a"]',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0002: type check: must accept [1,"a"]
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:array) array0002: type check: must accept [1,"a"]
# {
# 'input' => [
# []
# ],
# 'name' => 'array0003: type check: must accept [[]]',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0003: type check: must accept [[]]
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:array) array0003: type check: must accept [[]]
# {
# 'input' => 1,
# 'name' => 'array0004: type check: must reject 1',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0004: type check: must reject 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:array) array0004: type check: must reject 1
# {
# 'input' => 'a',
# 'name' => 'array0005: type check: must reject a',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:array) array0005: type check: must reject a
# {
# 'input' => {},
# 'name' => 'array0006: type check: must reject {}',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:array) array0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'array0007: must accept undefined value',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:array) array0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'array0008: defhash_v',
# 'schema' => [
# 'array',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:array) array0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:defhash_v, type, type:array) array0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'array0009: v',
# 'schema' => [
# 'array',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:array) array0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:v, type, type:array) array0009: v
# {
# 'input' => undef,
# 'name' => 'array0010: c',
# 'schema' => [
# 'array',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:array) array0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:c, type, type:array) array0010: c
# {
# 'input' => undef,
# 'name' => 'array0011: default_lang',
# 'schema' => [
# 'array',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:array) array0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:default_lang, type, type:array) array0011: default_lang
# {
# 'input' => undef,
# 'name' => 'array0012: name',
# 'schema' => [
# 'array',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:array) array0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:name, type, type:array) array0012: name
# {
# 'input' => undef,
# 'name' => 'array0013: summary',
# 'schema' => [
# 'array',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:array) array0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:summary, type, type:array) array0013: summary
# {
# 'input' => undef,
# 'name' => 'array0014: description',
# 'schema' => [
# 'array',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:array) array0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:description, type, type:array) array0014: description
# {
# 'input' => undef,
# 'name' => 'array0015: tags',
# 'schema' => [
# 'array',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:array) array0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:tags, type, type:array) array0015: tags
# {
# 'input' => undef,
# 'name' => 'array0016: req=0 must accept undefined value',
# 'schema' => [
# 'array',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'array0017: req=1 must reject undefined value',
# 'schema' => [
# 'array',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'array',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'array',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'array0020: default: must accept valid default []',
# 'schema' => [
# 'array*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:array) array0020: default: must accept valid default []
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:default, type, type:array) array0020: default: must accept valid default []
# {
# 'input' => undef,
# 'name' => 'array0021: default: must reject invalid default a',
# 'schema' => [
# 'array*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0022: clause (dies, unknown clause)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:array) array0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:array) array0022: clause (dies, unknown clause)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0023: clause (ok)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:array) array0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:clause, type, type:array) array0023: clause (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 0
# ],
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0025: clause (nok)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:array) array0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:array) array0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0026: clset (dies, unknown clause)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:array) array0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:array) array0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0027: clset (dies, unknown attr)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:array) array0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:array) array0027: clset (dies, unknown attr)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0028: clset (empty = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=type, type:array) array0028: clset (empty = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0030: clset (ok + ok = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'min_len' => 0
# },
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0032: clset (ok + nok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0033: clset (nok + ok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0034: clset (nok + nok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'array0035: ok',
# 'schema' => [
# 'array',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:array) array0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:ok, type, type:array) array0035: ok
# {
# 'input' => undef,
# 'name' => 'array0036: ok + op not (nok)',
# 'schema' => [
# 'array',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
# {
# 'input' => [],
# 'name' => 'array0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'array',
# 'is',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
# {
# 'input' => [
# 0
# ],
# 'name' => 'array0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'array',
# 'is',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
# {
# 'input' => [],
# 'name' => 'array0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
# {
# 'input' => [
# 0
# ],
# 'name' => 'array0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'array*',
# 'is',
# [],
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0041: is: must accept same value',
# 'schema' => [
# 'array',
# 'is',
# [
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:array) array0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:array) array0041: is: must accept same value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0042: is: must reject different value',
# 'schema' => [
# 'array',
# 'is',
# [
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:array) array0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:array) array0042: is: must reject different value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0043: !is (nok)',
# 'schema' => [
# 'array',
# '!is',
# [
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0044: !is (ok)',
# 'schema' => [
# 'array',
# '!is',
# [
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0045: is.op=not (nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# 1
# ],
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0046: is.op=not (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# 2
# ],
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0047: is& (no items)',
# 'schema' => [
# 'array',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0048: is& (ok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 1
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0049: is& (nok + ok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 2
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0050: is& (ok + nok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0051: is& (nok + nok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 2
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0052: is.op=and (no items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=type, type:array) array0052: is.op=and (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0053: is.op=and (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0054: is.op=and (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0055: is.op=and (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0056: is.op=and (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0057: is| (no items)',
# 'schema' => [
# 'array',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0058: is| (ok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 1
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0059: is| (nok + ok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 2
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0060: is| (ok + nok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0061: is| (nok + nok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 2
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0062: is.op=or (no items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0063: is.op=or (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0064: is.op=or (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0065: is.op=or (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0066: is.op=or (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0067: is.op=none (empty items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0068: is.op=none (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0069: is.op=none (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0070: is.op=none (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0071: is.op=none (ok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0072: in: must accept valid choices',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:array) array0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:array) array0072: in: must accept valid choices
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0073: in: must reject empty choices',
# 'schema' => [
# 'array',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:array) array0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:array) array0073: in: must reject empty choices
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0074: !in (nok)',
# 'schema' => [
# 'array',
# '!in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0075: !in (ok)',
# 'schema' => [
# 'array',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0076: in.op=not (nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0077: in.op=not (ok)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0078: in& (no items)',
# 'schema' => [
# 'array',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0079: in& (ok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0080: in& (nok + ok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0081: in& (ok + nok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0082: in& (nok + nok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0083: in.op=and (no items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=type, type:array) array0083: in.op=and (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0084: in.op=and (ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0085: in.op=and (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0086: in.op=and (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0087: in.op=and (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0088: in| (no items)',
# 'schema' => [
# 'array',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0089: in| (ok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0090: in| (nok + ok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0091: in| (ok + nok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0092: in| (nok + nok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0093: in.op=or (no items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0094: in.op=or (ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0095: in.op=or (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0096: in.op=or (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0097: in.op=or (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0098: in.op=none (empty items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0099: in.op=none (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0100: in.op=none (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0101: in.op=none (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0102: in.op=none (ok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0103: len (ok)',
# 'schema' => [
# 'array',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:array) array0103: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:len, type, type:array) array0103: len (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0104: len (nok)',
# 'schema' => [
# 'array',
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:array) array0104: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:len, type, type:array) array0104: len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0105: min_len (ok)',
# 'schema' => [
# 'array',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:array) array0105: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min_len, type, type:array) array0105: min_len (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0106: min_len (nok)',
# 'schema' => [
# 'array',
# 'min_len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:array) array0106: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:min_len, type, type:array) array0106: min_len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0107: max_len (ok)',
# 'schema' => [
# 'array',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:array) array0107: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:max_len, type, type:array) array0107: max_len (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0108: max_len (nok)',
# 'schema' => [
# 'array',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:array) array0108: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:max_len, type, type:array) array0108: max_len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0109: len_between (ok)',
# 'schema' => [
# 'array',
# 'len_between',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:array) array0109: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:len_between, type, type:array) array0109: len_between (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0110: len_between (nok)',
# 'schema' => [
# 'array',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:array) array0110: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:len_between, type, type:array) array0110: len_between (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0111: each_index (ok)',
# 'schema' => [
# 'array',
# 'each_index',
# [
# 'int',
# 'max',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:array) array0111: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:each_index, type, type:array) array0111: each_index (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0112: each_index (nok)',
# 'schema' => [
# 'array',
# 'each_index',
# [
# 'int',
# 'xmax',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:array) array0112: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:each_index, type, type:array) array0112: each_index (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0113: each_elem (ok)',
# 'schema' => [
# 'array',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0114: each_elem (nok)',
# 'schema' => [
# 'array',
# 'each_elem',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0121: elems (ok)',
# 'schema' => [
# 'array',
# 'elems',
# [
# 'int',
# 'float'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0121: elems (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:elems, type, type:array) array0121: elems (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0122: elems (nok)',
# 'schema' => [
# 'array',
# 'elems',
# [
# 'int',
# 'int'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:elems, type, type:array) array0122: elems (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:elems, type, type:array) array0122: elems (nok)
# {
# 'invalid_inputs' => [
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0123: has',
# 'schema' => [
# 'array',
# 'has',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, type, type:array) array0123: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 117 - (tags=clause:has, type, type:array) array0123: has
# {
# 'invalid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ],
# 'name' => 'array0124: has + op.not',
# 'schema' => [
# 'array',
# '!has',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [],
# [
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:array) array0124: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 118 - (tags=clause:has, op, op:not, opshortcut, type, type:array) array0124: has + op.not
# {
# 'invalid_inputs' => [
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0125: has + op.or',
# 'schema' => [
# 'array',
# 'has|',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:array) array0125: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 119 - (tags=clause:has, op, op:or, opshortcut, type, type:array) array0125: has + op.or
# {
# 'invalid_inputs' => [
# [
# 1,
# 3
# ],
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0126: has + op.and',
# 'schema' => [
# 'array',
# 'has&',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:array) array0126: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 120 - (tags=clause:has, op, op:and, opshortcut, type, type:array) array0126: has + op.and
# {
# 'input' => [
# undef,
# 1
# ],
# 'name' => 'array0130: elems (nok, first elem required)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:elems, type, type:array) array0130: elems (nok, first elem required)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:elems, type, type:array) array0130: elems (nok, first elem required)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0131: elems (ok, missing elem set to undef)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0131: elems (ok, missing elem set to undef)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:elems, type, type:array) array0131: elems (ok, missing elem set to undef)
# {
# 'input' => [
# 1,
# undef
# ],
# 'name' => 'array0132: elems (ok, second elem optional)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0132: elems (ok, second elem optional)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:elems, type, type:array) array0132: elems (ok, second elem optional)
# {
# 'input' => [
# 1,
# '1.1'
# ],
# 'name' => 'array0133: elems (ok 2)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0133: elems (ok 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:elems, type, type:array) array0133: elems (ok 2)
# {
# 'input' => [
# 1,
# '1.1',
# undef
# ],
# 'name' => 'array0134: elems (ok, extra elems ignored)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0134: elems (ok, extra elems ignored)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:elems, type, type:array) array0134: elems (ok, extra elems ignored)
# {
# 'input' => [
# 1,
# '1.1',
# 'foo'
# ],
# 'name' => 'array0135: elems (ok, extra elems ignored 2)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0135: elems (ok, extra elems ignored 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:elems, type, type:array) array0135: elems (ok, extra elems ignored 2)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0136: elems (ok, create_default=0)',
# 'output' => [
# 1
# ],
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int',
# [
# 'int',
# 'default',
# 2
# ]
# ],
# 'elems.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0136: elems (ok, create_default=0)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 127 - (tags=clause:elems, type, type:array) array0136: elems (ok, create_default=0)
# {
# 'input' => [
# 1,
# undef
# ],
# 'name' => 'array0137: elems (ok 2, create_default=0)',
# 'output' => [
# 1,
# 2
# ],
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int',
# [
# 'int',
# 'default',
# 2
# ]
# ],
# 'elems.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0137: elems (ok 2, create_default=0)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 128 - (tags=clause:elems, type, type:array) array0137: elems (ok 2, create_default=0)
ok 129
1..129
ok 5 - 10-type-array.json
# Subtest: 10-type-bool.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'bool0001: type check: must accept 0',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:bool) bool0001: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'bool0002: type check: must accept 1',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0002: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:bool) bool0002: type check: must accept 1
# {
# 'input' => [],
# 'name' => 'bool0003: type check: must reject []',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:bool) bool0003: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:bool) bool0003: type check: must reject []
# {
# 'input' => {},
# 'name' => 'bool0004: type check: must reject {}',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:bool) bool0004: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:bool) bool0004: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'bool0005: must accept undefined value',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0005: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:bool) bool0005: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'bool0006: defhash_v',
# 'schema' => [
# 'bool',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
# {
# 'input' => undef,
# 'name' => 'bool0007: v',
# 'schema' => [
# 'bool',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:bool) bool0007: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=clause:v, type, type:bool) bool0007: v
# {
# 'input' => undef,
# 'name' => 'bool0008: c',
# 'schema' => [
# 'bool',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:bool) bool0008: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:c, type, type:bool) bool0008: c
# {
# 'input' => undef,
# 'name' => 'bool0009: default_lang',
# 'schema' => [
# 'bool',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:bool) bool0009: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:default_lang, type, type:bool) bool0009: default_lang
# {
# 'input' => undef,
# 'name' => 'bool0010: name',
# 'schema' => [
# 'bool',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:bool) bool0010: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:name, type, type:bool) bool0010: name
# {
# 'input' => undef,
# 'name' => 'bool0011: summary',
# 'schema' => [
# 'bool',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:bool) bool0011: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:summary, type, type:bool) bool0011: summary
# {
# 'input' => undef,
# 'name' => 'bool0012: description',
# 'schema' => [
# 'bool',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:bool) bool0012: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:description, type, type:bool) bool0012: description
# {
# 'input' => undef,
# 'name' => 'bool0013: tags',
# 'schema' => [
# 'bool',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:bool) bool0013: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:tags, type, type:bool) bool0013: tags
# {
# 'input' => undef,
# 'name' => 'bool0014: req=0 must accept undefined value',
# 'schema' => [
# 'bool',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'bool0015: req=1 must reject undefined value',
# 'schema' => [
# 'bool',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
# {
# 'input' => 1,
# 'name' => 'bool0016: forbidden=0 must accept defined value',
# 'schema' => [
# 'bool',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
# {
# 'input' => 1,
# 'name' => 'bool0017: forbidden=1 must reject defined value',
# 'schema' => [
# 'bool',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'bool0018: default: must accept valid default 1',
# 'schema' => [
# 'bool*',
# 'default',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
# {
# 'input' => undef,
# 'name' => 'bool0019: default: must reject invalid default []',
# 'schema' => [
# 'bool*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0020: clause (dies, unknown clause)',
# 'schema' => [
# 'bool*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:bool) bool0020: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 20 - (tags=clause:clause, type, type:bool) bool0020: clause (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0021: clset (dies, unknown clause)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0021: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 21 - (tags=clause:clset, type, type:bool) bool0021: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0022: clset (dies, unknown attr)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0022: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clset, type, type:bool) bool0022: clset (dies, unknown attr)
# {
# 'input' => 1,
# 'name' => 'bool0023: clset (empty = ok)',
# 'schema' => [
# 'bool*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0023: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=type, type:bool) bool0023: clset (empty = ok)
# {
# 'input' => 1,
# 'name' => 'bool0024: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
# {
# 'input' => undef,
# 'name' => 'bool0025: ok',
# 'schema' => [
# 'bool',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:bool) bool0025: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:ok, type, type:bool) bool0025: ok
# {
# 'input' => undef,
# 'name' => 'bool0026: ok + op not (nok)',
# 'schema' => [
# 'bool',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 26 - (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
# {
# 'input' => 1,
# 'name' => 'bool0027: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 27 - (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
# {
# 'input' => 0,
# 'name' => 'bool0028: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
# {
# 'input' => 1,
# 'name' => 'bool0029: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1,
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
# {
# 'input' => 0,
# 'name' => 'bool0030: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'bool*',
# 'is',
# 1,
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
# {
# 'input' => 0,
# 'name' => 'bool0031: is: must accept same value',
# 'schema' => [
# 'bool',
# 'is',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:bool) bool0031: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:is, type, type:bool) bool0031: is: must accept same value
# {
# 'input' => 0,
# 'name' => 'bool0032: is: must reject different value',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:bool) bool0032: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:is, type, type:bool) bool0032: is: must reject different value
# {
# 'input' => 0,
# 'name' => 'bool0033: !is (nok)',
# 'schema' => [
# 'bool',
# '!is',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
# {
# 'input' => 0,
# 'name' => 'bool0034: !is (ok)',
# 'schema' => [
# 'bool',
# '!is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
# {
# 'input' => 0,
# 'name' => 'bool0035: is.op=not (nok)',
# 'schema' => [
# 'bool',
# 'is',
# 0,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
# {
# 'input' => 0,
# 'name' => 'bool0036: is.op=not (ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
# {
# 'input' => 0,
# 'name' => 'bool0037: is& (no items)',
# 'schema' => [
# 'bool',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
# {
# 'input' => 0,
# 'name' => 'bool0038: is& (ok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 0,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0039: is& (nok + ok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 1,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0040: is& (ok + nok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0041: is& (nok + nok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0042: is.op=and (no items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0042: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=type, type:bool) bool0042: is.op=and (no items)
# {
# 'input' => 0,
# 'name' => 'bool0043: is.op=and (ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0044: is.op=and (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0045: is.op=and (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0046: is.op=and (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0047: is| (no items)',
# 'schema' => [
# 'bool',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
# {
# 'input' => 0,
# 'name' => 'bool0048: is| (ok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 0,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
# {
# 'input' => 0,
# 'name' => 'bool0049: is| (nok + ok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 1,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0050: is| (ok + nok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0051: is| (nok + nok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0052: is.op=or (no items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
# {
# 'input' => 0,
# 'name' => 'bool0053: is.op=or (ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
# {
# 'input' => 0,
# 'name' => 'bool0054: is.op=or (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0055: is.op=or (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0056: is.op=or (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0057: is.op=none (empty items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
# {
# 'input' => 0,
# 'name' => 'bool0058: is.op=none (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0059: is.op=none (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0060: is.op=none (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0061: is.op=none (ok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0062: in: must accept valid choices',
# 'schema' => [
# 'bool',
# 'in',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
# {
# 'input' => 0,
# 'name' => 'bool0063: in: must reject empty choices',
# 'schema' => [
# 'bool',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
# {
# 'input' => 0,
# 'name' => 'bool0064: !in (nok)',
# 'schema' => [
# 'bool',
# '!in',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
# {
# 'input' => 0,
# 'name' => 'bool0065: !in (ok)',
# 'schema' => [
# 'bool',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
# {
# 'input' => 0,
# 'name' => 'bool0066: in.op=not (nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# 0,
# 1
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
# {
# 'input' => 0,
# 'name' => 'bool0067: in.op=not (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
# {
# 'input' => 0,
# 'name' => 'bool0068: in& (no items)',
# 'schema' => [
# 'bool',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
# {
# 'input' => 0,
# 'name' => 'bool0069: in& (ok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0070: in& (nok + ok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0071: in& (ok + nok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [
# 0,
# 1
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0072: in& (nok + nok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0073: in.op=and (no items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0073: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=type, type:bool) bool0073: in.op=and (no items)
# {
# 'input' => 0,
# 'name' => 'bool0074: in.op=and (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0075: in.op=and (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0076: in.op=and (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0077: in.op=and (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0078: in| (no items)',
# 'schema' => [
# 'bool',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
# {
# 'input' => 0,
# 'name' => 'bool0079: in| (ok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
# {
# 'input' => 0,
# 'name' => 'bool0080: in| (nok + ok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0081: in| (ok + nok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [
# 0,
# 1
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0082: in| (nok + nok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0083: in.op=or (no items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
# {
# 'input' => 0,
# 'name' => 'bool0084: in.op=or (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
# {
# 'input' => 0,
# 'name' => 'bool0085: in.op=or (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0086: in.op=or (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0087: in.op=or (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0088: in.op=none (empty items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
# {
# 'input' => 0,
# 'name' => 'bool0089: in.op=none (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0090: in.op=none (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0091: in.op=none (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0092: in.op=none (ok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
# {
# 'input' => 1,
# 'name' => 'bool0093: min: 1 0',
# 'schema' => [
# 'bool',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:bool) bool0093: min: 1 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:min, type, type:bool) bool0093: min: 1 0
# {
# 'input' => 1,
# 'name' => 'bool0094: min: 1 1',
# 'schema' => [
# 'bool',
# 'min',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:bool) bool0094: min: 1 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:min, type, type:bool) bool0094: min: 1 1
# {
# 'input' => 0,
# 'name' => 'bool0095: min: 0 1 -> fail',
# 'schema' => [
# 'bool',
# 'min',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0096: xmin: 1 0',
# 'schema' => [
# 'bool',
# 'xmin',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
# {
# 'input' => 1,
# 'name' => 'bool0097: xmin: 1 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmin',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0098: xmin: 0 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmin',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0099: max: 1 0 -> fail',
# 'schema' => [
# 'bool',
# 'max',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0100: max: 1 1',
# 'schema' => [
# 'bool',
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:bool) bool0100: max: 1 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:max, type, type:bool) bool0100: max: 1 1
# {
# 'input' => 0,
# 'name' => 'bool0101: max: 0 1',
# 'schema' => [
# 'bool',
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:bool) bool0101: max: 0 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:max, type, type:bool) bool0101: max: 0 1
# {
# 'input' => 1,
# 'name' => 'bool0102: xmax: 1 0 -> fail',
# 'schema' => [
# 'bool',
# 'xmax',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0103: xmax: 1 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmax',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0104: xmax: 0 1',
# 'schema' => [
# 'bool',
# 'xmax',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
# {
# 'input' => 1,
# 'name' => 'bool0105: between: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
# {
# 'input' => 1,
# 'name' => 'bool0106: between: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
# {
# 'input' => 1,
# 'name' => 'bool0107: between: 1 1 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
# {
# 'input' => 0,
# 'name' => 'bool0108: between: 0 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
# {
# 'input' => '1',
# 'name' => 'bool0109: xbetween: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
# {
# 'input' => '1',
# 'name' => 'bool0110: xbetween: 1 0 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# 0,
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
# {
# 'input' => '1',
# 'name' => 'bool0111: xbetween: 1 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# '1',
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0112: xbetween: 0 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# '1',
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0122: between.op=and (no items)',
# 'schema' => [
# 'bool',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0122: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=type, type:bool) bool0122: between.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'bool0142: is_true: 1 (ok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
# {
# 'input' => 0,
# 'name' => 'bool0143: is_true: 1 (nok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
# {
# 'input' => 0,
# 'name' => 'bool0144: is_true: 0 (ok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
# {
# 'input' => 1,
# 'name' => 'bool0145: is_true: 0 (nok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
# {
# 'input' => 0,
# 'name' => 'bool0146: is_true: undef (ok 1)',
# 'schema' => [
# 'bool',
# 'is_true',
# undef
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
# {
# 'input' => 1,
# 'name' => 'bool0147: is_true: undef (ok 2)',
# 'schema' => [
# 'bool',
# 'is_true',
# undef
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
ok 120
1..120
ok 6 - 10-type-bool.json
# Subtest: 10-type-buf.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'buf0001: type check: must accept 0',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:buf) buf0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'buf0002: type check: must accept 1.1',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:buf) buf0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'buf0003: type check: must accept ',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:buf) buf0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'buf0004: type check: must accept str
# ',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:buf) buf0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'buf0005: type check: must reject []',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:buf) buf0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:buf) buf0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'buf0006: type check: must reject {}',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:buf) buf0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:buf) buf0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'buf0007: must accept undefined value',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:buf) buf0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'buf0008: defhash_v',
# 'schema' => [
# 'buf',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:buf) buf0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:defhash_v, type, type:buf) buf0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'buf0009: v',
# 'schema' => [
# 'buf',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:buf) buf0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:v, type, type:buf) buf0009: v
# {
# 'input' => undef,
# 'name' => 'buf0010: c',
# 'schema' => [
# 'buf',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:buf) buf0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:c, type, type:buf) buf0010: c
# {
# 'input' => undef,
# 'name' => 'buf0011: default_lang',
# 'schema' => [
# 'buf',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:buf) buf0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:default_lang, type, type:buf) buf0011: default_lang
# {
# 'input' => undef,
# 'name' => 'buf0012: name',
# 'schema' => [
# 'buf',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:buf) buf0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:name, type, type:buf) buf0012: name
# {
# 'input' => undef,
# 'name' => 'buf0013: summary',
# 'schema' => [
# 'buf',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:buf) buf0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:summary, type, type:buf) buf0013: summary
# {
# 'input' => undef,
# 'name' => 'buf0014: description',
# 'schema' => [
# 'buf',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:buf) buf0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:description, type, type:buf) buf0014: description
# {
# 'input' => undef,
# 'name' => 'buf0015: tags',
# 'schema' => [
# 'buf',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:buf) buf0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:tags, type, type:buf) buf0015: tags
# {
# 'input' => undef,
# 'name' => 'buf0016: req=0 must accept undefined value',
# 'schema' => [
# 'buf',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:buf) buf0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:req, type, type:buf) buf0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'buf0017: req=1 must reject undefined value',
# 'schema' => [
# 'buf',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:buf) buf0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:buf) buf0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'buf0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'buf',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:buf) buf0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:buf) buf0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'buf0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'buf',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:buf) buf0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:buf) buf0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'buf0020: default: must accept valid default a',
# 'schema' => [
# 'buf*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:buf) buf0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:default, type, type:buf) buf0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'buf0021: default: must reject invalid default []',
# 'schema' => [
# 'buf*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:buf) buf0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:buf) buf0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0022: clause (dies, unknown clause)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:buf) buf0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'buf0023: clause (ok)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:clause, type, type:buf) buf0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:buf) buf0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0025: clause (nok)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:buf) buf0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0026: clset (dies, unknown clause)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:buf) buf0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0027: clset (dies, unknown attr)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:buf) buf0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'buf0028: clset (empty = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=type, type:buf) buf0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=clause:clset, type, type:buf) buf0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0030: clset (ok + ok = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:buf) buf0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:buf) buf0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'buf0032: clset (ok + nok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:buf) buf0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'buf0033: clset (nok + ok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:buf) buf0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'buf0034: clset (nok + nok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:buf) buf0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'buf0035: ok',
# 'schema' => [
# 'buf',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:buf) buf0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:ok, type, type:buf) buf0035: ok
# {
# 'input' => undef,
# 'name' => 'buf0036: ok + op not (nok)',
# 'schema' => [
# 'buf',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:buf) buf0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, op, op:not, type, type:buf) buf0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=attr, attr:err_level, type, type:buf) buf0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'buf0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:buf) buf0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'buf0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:buf) buf0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'buf0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'buf*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:buf) buf0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'buf0041: is: must accept same value',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:buf) buf0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:buf) buf0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'buf0042: is: must reject different value',
# 'schema' => [
# 'buf',
# 'is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:buf) buf0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:buf) buf0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'buf0043: !is (nok)',
# 'schema' => [
# 'buf',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0044: !is (ok)',
# 'schema' => [
# 'buf',
# '!is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0045: is.op=not (nok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:buf) buf0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, type, type:buf) buf0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0046: is.op=not (ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'b',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:buf) buf0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:buf) buf0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0047: is& (no items)',
# 'schema' => [
# 'buf',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0048: is& (ok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0049: is& (nok + ok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0050: is& (ok + nok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0051: is& (nok + nok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0052: is.op=and (no items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=type, type:buf) buf0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0053: is.op=and (ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, type, type:buf) buf0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0054: is.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:buf) buf0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0055: is.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:buf) buf0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0056: is.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:buf) buf0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0057: is| (no items)',
# 'schema' => [
# 'buf',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0058: is| (ok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0059: is| (nok + ok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0060: is| (ok + nok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0061: is| (nok + nok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0062: is.op=or (no items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, type, type:buf) buf0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0063: is.op=or (ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:buf) buf0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0064: is.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:buf) buf0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0065: is.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:buf) buf0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0066: is.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:buf) buf0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0067: is.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:none, type, type:buf) buf0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'buf0068: is.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:buf) buf0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0069: is.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:buf) buf0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0070: is.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:buf) buf0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0071: is.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:buf) buf0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0072: in: must accept valid choices',
# 'schema' => [
# 'buf',
# 'in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:buf) buf0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:buf) buf0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'buf0073: in: must reject empty choices',
# 'schema' => [
# 'buf',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:buf) buf0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:buf) buf0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'buf0074: !in (nok)',
# 'schema' => [
# 'buf',
# '!in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0075: !in (ok)',
# 'schema' => [
# 'buf',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0076: in.op=not (nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# 'a',
# 'b'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:buf) buf0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, type, type:buf) buf0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0077: in.op=not (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:buf) buf0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:buf) buf0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0078: in& (no items)',
# 'schema' => [
# 'buf',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0079: in& (ok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0080: in& (nok + ok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0081: in& (ok + nok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0082: in& (nok + nok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0083: in.op=and (no items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=type, type:buf) buf0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0084: in.op=and (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, type, type:buf) buf0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0085: in.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:buf) buf0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0086: in.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:buf) buf0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0087: in.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:buf) buf0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0088: in| (no items)',
# 'schema' => [
# 'buf',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0089: in| (ok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0090: in| (nok + ok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0091: in| (ok + nok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0092: in| (nok + nok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0093: in.op=or (no items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, type, type:buf) buf0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0094: in.op=or (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:buf) buf0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0095: in.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:buf) buf0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0096: in.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:buf) buf0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0097: in.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:buf) buf0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0098: in.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:none, type, type:buf) buf0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'buf0099: in.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:buf) buf0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0100: in.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:buf) buf0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0101: in.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:buf) buf0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0102: in.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:buf) buf0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0103: min: a ',
# 'schema' => [
# 'buf',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:buf) buf0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:min, type, type:buf) buf0103: min: a
# {
# 'input' => 'a',
# 'name' => 'buf0104: min: a a',
# 'schema' => [
# 'buf',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:buf) buf0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:min, type, type:buf) buf0104: min: a a
# {
# 'input' => '',
# 'name' => 'buf0105: min: a -> fail',
# 'schema' => [
# 'buf',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:buf) buf0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:buf) buf0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0106: xmin: a ',
# 'schema' => [
# 'buf',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:xmin, type, type:buf) buf0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'buf0107: xmin: a a -> fail',
# 'schema' => [
# 'buf',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:xmin, type, type:buf) buf0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'buf0108: xmin: a -> fail',
# 'schema' => [
# 'buf',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:buf) buf0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0109: max: a -> fail',
# 'schema' => [
# 'buf',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:buf) buf0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:max, type, type:buf) buf0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0110: max: a a',
# 'schema' => [
# 'buf',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:buf) buf0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:max, type, type:buf) buf0110: max: a a
# {
# 'input' => '',
# 'name' => 'buf0111: max: a',
# 'schema' => [
# 'buf',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:buf) buf0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:buf) buf0111: max: a
# {
# 'input' => 'a',
# 'name' => 'buf0112: xmax: a -> fail',
# 'schema' => [
# 'buf',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:xmax, type, type:buf) buf0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0113: xmax: a a -> fail',
# 'schema' => [
# 'buf',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:xmax, type, type:buf) buf0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'buf0114: xmax: a',
# 'schema' => [
# 'buf',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:buf) buf0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'buf0115: between: a & ab',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0115: between: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:between, type, type:buf) buf0115: between: a & ab
# {
# 'input' => 'a',
# 'name' => 'buf0116: between: a & a',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:buf) buf0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'buf0117: between: a a & a',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:buf) buf0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'buf0118: between: a & ab -> fail',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:buf) buf0118: between: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:buf) buf0118: between: a & ab -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0119: xbetween: a & ab',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0119: xbetween: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:xbetween, type, type:buf) buf0119: xbetween: a & ab
# {
# 'input' => 'a',
# 'name' => 'buf0120: xbetween: a & a -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:xbetween, type, type:buf) buf0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:buf) buf0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'buf0122: xbetween: a & ab -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0122: xbetween: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:buf) buf0122: xbetween: a & ab -> fail
# {
# 'input' => '',
# 'name' => 'buf0123: !between (nok)',
# 'schema' => [
# 'buf',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'buf0124: !between (ok)',
# 'schema' => [
# 'buf',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'buf0125: between.op=not (nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:buf) buf0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:buf) buf0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'buf0126: between.op=not (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:buf) buf0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:buf) buf0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'buf0127: between& (no items)',
# 'schema' => [
# 'buf',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'buf0128: between& (ok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0129: between& (nok + ok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0130: between& (ok + nok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0131: between& (nok + nok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0132: between.op=and (no items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:buf) buf0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'buf0133: between.op=and (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:buf) buf0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0134: between.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:buf) buf0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0135: between.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:buf) buf0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0136: between.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:buf) buf0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0137: between| (no items)',
# 'schema' => [
# 'buf',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'buf0138: between| (ok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'buf0139: between| (nok + ok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'buf0140: between| (ok + nok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0141: between| (nok + nok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0142: between.op=or (no items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:buf) buf0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'buf0143: between.op=or (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:buf) buf0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'buf0144: between.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:buf) buf0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'buf0145: between.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:buf) buf0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0146: between.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:buf) buf0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0147: between.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:buf) buf0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'buf0148: between.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:buf) buf0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0149: between.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:buf) buf0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0150: between.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:buf) buf0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0151: between.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:buf) buf0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0152: len (ok)',
# 'schema' => [
# 'buf',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:buf) buf0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:buf) buf0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0153: len (nok)',
# 'schema' => [
# 'buf',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:buf) buf0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:buf) buf0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0154: min_len (ok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:buf) buf0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:buf) buf0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0155: min_len (nok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:buf) buf0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:buf) buf0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0156: max_len (ok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:buf) buf0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:buf) buf0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0157: max_len (nok)',
# 'schema' => [
# 'buf',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:buf) buf0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:buf) buf0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0158: len_between (ok)',
# 'schema' => [
# 'buf',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:buf) buf0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:buf) buf0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0159: len_between (nok)',
# 'schema' => [
# 'buf',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:buf) buf0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:buf) buf0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'buf0160: each_index (ok)',
# 'schema' => [
# 'buf',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:buf) buf0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:buf) buf0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0161: each_index (nok)',
# 'schema' => [
# 'buf',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:buf) buf0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:buf) buf0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'buf0162: each_elem (ok)',
# 'schema' => [
# 'buf',
# 'each_elem',
# 'buf'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:buf) buf0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:buf) buf0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0163: each_elem (nok)',
# 'schema' => [
# 'buf',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:buf) buf0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:buf) buf0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0170: has',
# 'schema' => [
# 'buf',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:buf) buf0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 164 - (tags=clause:has, type, type:buf) buf0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'ac'
# ],
# 'name' => 'buf0171: has + op.not',
# 'schema' => [
# 'buf',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'A',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:buf) buf0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - validator (rt=full) returns hash
1..7
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:buf) buf0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0172: has + op.or',
# 'schema' => [
# 'buf',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:buf) buf0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:buf) buf0172: has + op.or
# {
# 'invalid_inputs' => [
# 'ac',
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0173: has + op.and',
# 'schema' => [
# 'buf',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:buf) buf0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - invalid input [3]
ok 7 - validator (rt=full) returns hash
1..7
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:buf) buf0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'buf0177: encoding: (ok)',
# 'schema' => [
# 'buf',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:buf) buf0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:buf) buf0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'buf',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:buf) buf0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:buf) buf0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'a',
# 'name' => 'buf0179: match: (ok)',
# 'schema' => [
# 'buf',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:buf) buf0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:buf) buf0179: match: (ok)
# {
# 'input' => 'A',
# 'name' => 'buf0180: match: (nok)',
# 'schema' => [
# 'buf',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:buf) buf0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:buf) buf0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0181: match: (dies, invalid regex)',
# 'schema' => [
# 'buf',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:buf) buf0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:buf) buf0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'buf0182: is_re: 1 (ok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:buf) buf0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'buf0183: is_re: 1 (nok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:buf) buf0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'buf0184: is_re: 0 (ok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:buf) buf0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0185: is_re: 0 (nok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:buf) buf0185: is_re: 0 (nok)
ok 177
1..177
ok 7 - 10-type-buf.json
# Subtest: 10-type-cistr.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'cistr0001: type check: must accept 0',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:cistr) cistr0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'cistr0002: type check: must accept 1.1',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:cistr) cistr0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'cistr0003: type check: must accept ',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:cistr) cistr0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'cistr0004: type check: must accept str
# ',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:cistr) cistr0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'cistr0005: type check: must reject []',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:cistr) cistr0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:cistr) cistr0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'cistr0006: type check: must reject {}',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:cistr) cistr0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:cistr) cistr0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'cistr0007: must accept undefined value',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:cistr) cistr0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'cistr0008: defhash_v',
# 'schema' => [
# 'cistr',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:cistr) cistr0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:defhash_v, type, type:cistr) cistr0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'cistr0009: v',
# 'schema' => [
# 'cistr',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:cistr) cistr0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:v, type, type:cistr) cistr0009: v
# {
# 'input' => undef,
# 'name' => 'cistr0010: c',
# 'schema' => [
# 'cistr',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:cistr) cistr0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:c, type, type:cistr) cistr0010: c
# {
# 'input' => undef,
# 'name' => 'cistr0011: default_lang',
# 'schema' => [
# 'cistr',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:cistr) cistr0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:default_lang, type, type:cistr) cistr0011: default_lang
# {
# 'input' => undef,
# 'name' => 'cistr0012: name',
# 'schema' => [
# 'cistr',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:cistr) cistr0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:name, type, type:cistr) cistr0012: name
# {
# 'input' => undef,
# 'name' => 'cistr0013: summary',
# 'schema' => [
# 'cistr',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:cistr) cistr0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:summary, type, type:cistr) cistr0013: summary
# {
# 'input' => undef,
# 'name' => 'cistr0014: description',
# 'schema' => [
# 'cistr',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:cistr) cistr0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:description, type, type:cistr) cistr0014: description
# {
# 'input' => undef,
# 'name' => 'cistr0015: tags',
# 'schema' => [
# 'cistr',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:cistr) cistr0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:tags, type, type:cistr) cistr0015: tags
# {
# 'input' => undef,
# 'name' => 'cistr0016: req=0 must accept undefined value',
# 'schema' => [
# 'cistr',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:cistr) cistr0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:req, type, type:cistr) cistr0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'cistr0017: req=1 must reject undefined value',
# 'schema' => [
# 'cistr',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:cistr) cistr0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:cistr) cistr0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'cistr0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'cistr',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:cistr) cistr0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:cistr) cistr0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'cistr0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'cistr',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:cistr) cistr0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:cistr) cistr0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'cistr0020: default: must accept valid default a',
# 'schema' => [
# 'cistr*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:cistr) cistr0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:default, type, type:cistr) cistr0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'cistr0021: default: must reject invalid default []',
# 'schema' => [
# 'cistr*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:cistr) cistr0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:cistr) cistr0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0022: clause (dies, unknown clause)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:cistr) cistr0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'cistr0023: clause (ok)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:clause, type, type:cistr) cistr0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:cistr) cistr0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0025: clause (nok)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:cistr) cistr0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0026: clset (dies, unknown clause)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:cistr) cistr0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0027: clset (dies, unknown attr)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:cistr) cistr0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'cistr0028: clset (empty = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=type, type:cistr) cistr0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=clause:clset, type, type:cistr) cistr0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0030: clset (ok + ok = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:cistr) cistr0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:cistr) cistr0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'cistr0032: clset (ok + nok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:cistr) cistr0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0033: clset (nok + ok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:cistr) cistr0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0034: clset (nok + nok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:cistr) cistr0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'cistr0035: ok',
# 'schema' => [
# 'cistr',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:cistr) cistr0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:ok, type, type:cistr) cistr0035: ok
# {
# 'input' => undef,
# 'name' => 'cistr0036: ok + op not (nok)',
# 'schema' => [
# 'cistr',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:cistr) cistr0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, op, op:not, type, type:cistr) cistr0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=attr, attr:err_level, type, type:cistr) cistr0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'cistr0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:cistr) cistr0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:cistr) cistr0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'cistr0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'cistr*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:cistr) cistr0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0041: is: must accept same value',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:cistr) cistr0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:cistr) cistr0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'cistr0042: is: must reject different value',
# 'schema' => [
# 'cistr',
# 'is',
# 'B'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:cistr) cistr0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:cistr) cistr0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'cistr0043: !is (nok)',
# 'schema' => [
# 'cistr',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0044: !is (ok)',
# 'schema' => [
# 'cistr',
# '!is',
# 'B'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0045: is.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:cistr) cistr0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, type, type:cistr) cistr0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0046: is.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'B',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:cistr) cistr0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:cistr) cistr0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0047: is& (no items)',
# 'schema' => [
# 'cistr',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0048: is& (ok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0049: is& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'B',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0050: is& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0051: is& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'B',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0052: is.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=type, type:cistr) cistr0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0053: is.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, type, type:cistr) cistr0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0054: is.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:cistr) cistr0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0055: is.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:cistr) cistr0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0056: is.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:cistr) cistr0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0057: is| (no items)',
# 'schema' => [
# 'cistr',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0058: is| (ok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0059: is| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'B',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0060: is| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0061: is| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'B',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0062: is.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, type, type:cistr) cistr0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0063: is.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:cistr) cistr0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0064: is.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:cistr) cistr0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0065: is.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:cistr) cistr0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0066: is.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:cistr) cistr0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0067: is.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:none, type, type:cistr) cistr0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'cistr0068: is.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:cistr) cistr0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0069: is.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:cistr) cistr0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0070: is.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:cistr) cistr0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0071: is.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:cistr) cistr0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0072: in: must accept valid choices',
# 'schema' => [
# 'cistr',
# 'in',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:cistr) cistr0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:cistr) cistr0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'cistr0073: in: must reject empty choices',
# 'schema' => [
# 'cistr',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:cistr) cistr0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:cistr) cistr0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'cistr0074: !in (nok)',
# 'schema' => [
# 'cistr',
# '!in',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0075: !in (ok)',
# 'schema' => [
# 'cistr',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0076: in.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# 'a',
# 'B'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:cistr) cistr0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, type, type:cistr) cistr0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0077: in.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:cistr) cistr0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:cistr) cistr0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0078: in& (no items)',
# 'schema' => [
# 'cistr',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0079: in& (ok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0080: in& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0081: in& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [
# 'a',
# 'B'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0082: in& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0083: in.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=type, type:cistr) cistr0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0084: in.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, type, type:cistr) cistr0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0085: in.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:cistr) cistr0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0086: in.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:cistr) cistr0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0087: in.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:cistr) cistr0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0088: in| (no items)',
# 'schema' => [
# 'cistr',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0089: in| (ok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0090: in| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0091: in| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [
# 'a',
# 'B'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0092: in| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0093: in.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, type, type:cistr) cistr0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0094: in.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:cistr) cistr0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0095: in.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:cistr) cistr0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0096: in.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:cistr) cistr0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0097: in.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:cistr) cistr0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0098: in.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:none, type, type:cistr) cistr0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'cistr0099: in.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:cistr) cistr0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0100: in.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:cistr) cistr0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0101: in.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:cistr) cistr0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0102: in.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:cistr) cistr0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0103: min: a ',
# 'schema' => [
# 'cistr',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:min, type, type:cistr) cistr0103: min: a
# {
# 'input' => 'a',
# 'name' => 'cistr0104: min: a a',
# 'schema' => [
# 'cistr',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:min, type, type:cistr) cistr0104: min: a a
# {
# 'input' => '',
# 'name' => 'cistr0105: min: a -> fail',
# 'schema' => [
# 'cistr',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:cistr) cistr0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0106: xmin: a ',
# 'schema' => [
# 'cistr',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:xmin, type, type:cistr) cistr0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'cistr0107: xmin: a a -> fail',
# 'schema' => [
# 'cistr',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:xmin, type, type:cistr) cistr0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0108: xmin: a -> fail',
# 'schema' => [
# 'cistr',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:cistr) cistr0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0109: max: a -> fail',
# 'schema' => [
# 'cistr',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:max, type, type:cistr) cistr0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0110: max: a a',
# 'schema' => [
# 'cistr',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:max, type, type:cistr) cistr0110: max: a a
# {
# 'input' => '',
# 'name' => 'cistr0111: max: a',
# 'schema' => [
# 'cistr',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:cistr) cistr0111: max: a
# {
# 'input' => 'a',
# 'name' => 'cistr0112: xmax: a -> fail',
# 'schema' => [
# 'cistr',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:xmax, type, type:cistr) cistr0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0113: xmax: a a -> fail',
# 'schema' => [
# 'cistr',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:xmax, type, type:cistr) cistr0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0114: xmax: a',
# 'schema' => [
# 'cistr',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:cistr) cistr0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'cistr0115: between: a & Ab',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0115: between: a & Ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:between, type, type:cistr) cistr0115: between: a & Ab
# {
# 'input' => 'a',
# 'name' => 'cistr0116: between: a & a',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:cistr) cistr0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'cistr0117: between: a a & a',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:cistr) cistr0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'cistr0118: between: a & Ab -> fail',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0118: between: a & Ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:cistr) cistr0118: between: a & Ab -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0119: xbetween: a & Ab',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# '',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0119: xbetween: a & Ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:xbetween, type, type:cistr) cistr0119: xbetween: a & Ab
# {
# 'input' => 'a',
# 'name' => 'cistr0120: xbetween: a & a -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:xbetween, type, type:cistr) cistr0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:cistr) cistr0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0122: xbetween: a & Ab -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# 'a',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0122: xbetween: a & Ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:cistr) cistr0122: xbetween: a & Ab -> fail
# {
# 'input' => '',
# 'name' => 'cistr0123: !between (nok)',
# 'schema' => [
# 'cistr',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'cistr0124: !between (ok)',
# 'schema' => [
# 'cistr',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'cistr0125: between.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:cistr) cistr0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:cistr) cistr0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'cistr0126: between.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:cistr) cistr0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:cistr) cistr0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'cistr0127: between& (no items)',
# 'schema' => [
# 'cistr',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'cistr0128: between& (ok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0129: between& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0130: between& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0131: between& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0132: between.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:cistr) cistr0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'cistr0133: between.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:cistr) cistr0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0134: between.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:cistr) cistr0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0135: between.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:cistr) cistr0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0136: between.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:cistr) cistr0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0137: between| (no items)',
# 'schema' => [
# 'cistr',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'cistr0138: between| (ok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'cistr0139: between| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'cistr0140: between| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0141: between| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0142: between.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:cistr) cistr0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'cistr0143: between.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:cistr) cistr0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'cistr0144: between.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:cistr) cistr0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'cistr0145: between.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:cistr) cistr0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0146: between.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:cistr) cistr0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0147: between.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:cistr) cistr0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'cistr0148: between.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:cistr) cistr0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0149: between.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:cistr) cistr0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0150: between.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:cistr) cistr0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0151: between.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:cistr) cistr0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0152: len (ok)',
# 'schema' => [
# 'cistr',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:cistr) cistr0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:cistr) cistr0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0153: len (nok)',
# 'schema' => [
# 'cistr',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:cistr) cistr0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:cistr) cistr0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0154: min_len (ok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:cistr) cistr0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:cistr) cistr0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0155: min_len (nok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:cistr) cistr0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:cistr) cistr0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0156: max_len (ok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:cistr) cistr0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:cistr) cistr0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0157: max_len (nok)',
# 'schema' => [
# 'cistr',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:cistr) cistr0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:cistr) cistr0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0158: len_between (ok)',
# 'schema' => [
# 'cistr',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:cistr) cistr0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:cistr) cistr0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0159: len_between (nok)',
# 'schema' => [
# 'cistr',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:cistr) cistr0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:cistr) cistr0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0160: each_index (ok)',
# 'schema' => [
# 'cistr',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:cistr) cistr0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:cistr) cistr0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0161: each_index (nok)',
# 'schema' => [
# 'cistr',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:cistr) cistr0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:cistr) cistr0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0162: each_elem (ok)',
# 'schema' => [
# 'cistr',
# 'each_elem',
# 'cistr'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:cistr) cistr0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:cistr) cistr0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0163: each_elem (nok)',
# 'schema' => [
# 'cistr',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:cistr) cistr0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:cistr) cistr0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'c'
# ],
# 'name' => 'cistr0170: has',
# 'schema' => [
# 'cistr',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'Ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:cistr) cistr0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 164 - (tags=clause:has, type, type:cistr) cistr0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'Ac'
# ],
# 'name' => 'cistr0171: has + op.not',
# 'schema' => [
# 'cistr',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:cistr) cistr0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:cistr) cistr0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'c'
# ],
# 'name' => 'cistr0172: has + op.or',
# 'schema' => [
# 'cistr',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'Ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:cistr) cistr0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:cistr) cistr0172: has + op.or
# {
# 'invalid_inputs' => [
# 'Ac',
# '',
# 'c'
# ],
# 'name' => 'cistr0173: has + op.and',
# 'schema' => [
# 'cistr',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:cistr) cistr0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:cistr) cistr0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'cistr0177: encoding: (ok)',
# 'schema' => [
# 'cistr',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:cistr) cistr0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:cistr) cistr0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'cistr',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:cistr) cistr0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:cistr) cistr0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'A',
# 'name' => 'cistr0179: match: (ok)',
# 'schema' => [
# 'cistr',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:cistr) cistr0179: match: (ok)
# {
# 'input' => 'z',
# 'name' => 'cistr0180: match: (nok)',
# 'schema' => [
# 'cistr',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:cistr) cistr0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0181: match: (dies, invalid regex)',
# 'schema' => [
# 'cistr',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:cistr) cistr0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'cistr0182: is_re: 1 (ok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:cistr) cistr0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'cistr0183: is_re: 1 (nok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:cistr) cistr0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'cistr0184: is_re: 0 (ok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:cistr) cistr0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0185: is_re: 0 (nok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:cistr) cistr0185: is_re: 0 (nok)
ok 177
1..177
ok 8 - 10-type-cistr.json
# Subtest: 10-type-float.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => '-1.1',
# 'name' => 'float0001: type check: must accept -1.1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0001: type check: must accept -1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:float) float0001: type check: must accept -1.1
# {
# 'input' => -1,
# 'name' => 'float0002: type check: must accept -1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0002: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:float) float0002: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'float0003: type check: must accept 0',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0003: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:float) float0003: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'float0004: type check: must accept 1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0004: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:float) float0004: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'float0005: type check: must accept 1.1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0005: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:float) float0005: type check: must accept 1.1
# {
# 'input' => 'a',
# 'name' => 'float0006: type check: must reject a',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0006: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:float) float0006: type check: must reject a
# {
# 'input' => [],
# 'name' => 'float0007: type check: must reject []',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0007: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:float) float0007: type check: must reject []
# {
# 'input' => {},
# 'name' => 'float0008: type check: must reject {}',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0008: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=type, type:float) float0008: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'float0009: must accept undefined value',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0009: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=type, type:float) float0009: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'float0010: defhash_v',
# 'schema' => [
# 'float',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:float) float0010: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:defhash_v, type, type:float) float0010: defhash_v
# {
# 'input' => undef,
# 'name' => 'float0011: v',
# 'schema' => [
# 'float',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:float) float0011: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:v, type, type:float) float0011: v
# {
# 'input' => undef,
# 'name' => 'float0012: c',
# 'schema' => [
# 'float',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:float) float0012: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:c, type, type:float) float0012: c
# {
# 'input' => undef,
# 'name' => 'float0013: default_lang',
# 'schema' => [
# 'float',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:float) float0013: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:default_lang, type, type:float) float0013: default_lang
# {
# 'input' => undef,
# 'name' => 'float0014: name',
# 'schema' => [
# 'float',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:float) float0014: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:name, type, type:float) float0014: name
# {
# 'input' => undef,
# 'name' => 'float0015: summary',
# 'schema' => [
# 'float',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:float) float0015: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:summary, type, type:float) float0015: summary
# {
# 'input' => undef,
# 'name' => 'float0016: description',
# 'schema' => [
# 'float',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:float) float0016: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:description, type, type:float) float0016: description
# {
# 'input' => undef,
# 'name' => 'float0017: tags',
# 'schema' => [
# 'float',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:float) float0017: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:tags, type, type:float) float0017: tags
# {
# 'input' => undef,
# 'name' => 'float0018: req=0 must accept undefined value',
# 'schema' => [
# 'float',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:float) float0018: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:req, type, type:float) float0018: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'float0019: req=1 must reject undefined value',
# 'schema' => [
# 'float',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:float) float0019: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:req, type, type:float) float0019: req=1 must reject undefined value
# {
# 'input' => '1.1',
# 'name' => 'float0020: forbidden=0 must accept defined value',
# 'schema' => [
# 'float',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:float) float0020: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:forbidden, type, type:float) float0020: forbidden=0 must accept defined value
# {
# 'input' => '1.1',
# 'name' => 'float0021: forbidden=1 must reject defined value',
# 'schema' => [
# 'float',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:float) float0021: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:forbidden, type, type:float) float0021: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'float0022: default: must accept valid default 1.1',
# 'schema' => [
# 'float*',
# 'default',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:float) float0022: default: must accept valid default 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 22 - (tags=clause:default, type, type:float) float0022: default: must accept valid default 1.1
# {
# 'input' => undef,
# 'name' => 'float0023: default: must reject invalid default []',
# 'schema' => [
# 'float*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:float) float0023: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:default, type, type:float) float0023: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0024: clause (dies, unknown clause)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:float) float0024: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 24 - (tags=clause:clause, type, type:float) float0024: clause (dies, unknown clause)
# {
# 'input' => '1.1',
# 'name' => 'float0025: clause (ok)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:float) float0025: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:float) float0025: clause (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0026: clause (ok) + clause nok = nok',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:float) float0026: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 26 - (tags=clause:clause, type, type:float) float0026: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0027: clause (nok)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:float) float0027: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 27 - (tags=clause:clause, type, type:float) float0027: clause (nok)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0028: clset (dies, unknown clause)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:float) float0028: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:float) float0028: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0029: clset (dies, unknown attr)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:float) float0029: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 29 - (tags=clause:clset, type, type:float) float0029: clset (dies, unknown attr)
# {
# 'input' => '1.1',
# 'name' => 'float0030: clset (empty = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0030: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=type, type:float) float0030: clset (empty = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0031: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:float) float0031: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:float) float0031: clset (ignored clause/attr = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0032: clset (ok + ok = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:float) float0032: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:float) float0032: clset (ok + ok = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0033: clset (ok) + clause nok = nok',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'min' => 1
# },
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0033: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:float) float0033: clset (ok) + clause nok = nok
# {
# 'input' => '1.1',
# 'name' => 'float0034: clset (ok + nok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0034: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:float) float0034: clset (ok + nok = nok)
# {
# 'input' => '1.1',
# 'name' => 'float0035: clset (nok + ok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0035: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:clset, type, type:float) float0035: clset (nok + ok = nok)
# {
# 'input' => '1.1',
# 'name' => 'float0036: clset (nok + nok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0036: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:clset, type, type:float) float0036: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'float0037: ok',
# 'schema' => [
# 'float',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:float) float0037: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=clause:ok, type, type:float) float0037: ok
# {
# 'input' => undef,
# 'name' => 'float0038: ok + op not (nok)',
# 'schema' => [
# 'float',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:float) float0038: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=clause:ok, op, op:not, type, type:float) float0038: ok + op not (nok)
# {
# 'input' => '0.1',
# 'name' => 'float0039: .err_level=error (clause=min, ok)',
# 'schema' => [
# 'float',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0039: .err_level=error (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:float) float0039: .err_level=error (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'float0040: .err_level=error (clause=min, nok)',
# 'schema' => [
# 'float',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0040: .err_level=error (clause=min, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:float) float0040: .err_level=error (clause=min, nok)
# {
# 'input' => '0.1',
# 'name' => 'float0041: .err_level=warn (clause=min, ok)',
# 'schema' => [
# 'float',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0041: .err_level=warn (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:float) float0041: .err_level=warn (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'float0042: .err_level=warn (clause=min, nok)',
# 'schema' => [
# 'float*',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0042: .err_level=warn (clause=min, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=attr, attr:err_level, type, type:float) float0042: .err_level=warn (clause=min, nok)
# {
# 'input' => '1.1',
# 'name' => 'float0043: is: must accept same value',
# 'schema' => [
# 'float',
# 'is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:float) float0043: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, type, type:float) float0043: is: must accept same value
# {
# 'input' => '1.1',
# 'name' => 'float0044: is: must reject different value',
# 'schema' => [
# 'float',
# 'is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:float) float0044: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, type, type:float) float0044: is: must reject different value
# {
# 'input' => '1.1',
# 'name' => 'float0045: !is (nok)',
# 'schema' => [
# 'float',
# '!is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) float0045: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, opshortcut, type, type:float) float0045: !is (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0046: !is (ok)',
# 'schema' => [
# 'float',
# '!is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) float0046: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:float) float0046: !is (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0047: is.op=not (nok)',
# 'schema' => [
# 'float',
# 'is',
# '1.1',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:float) float0047: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:not, type, type:float) float0047: is.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0048: is.op=not (ok)',
# 'schema' => [
# 'float',
# 'is',
# '1.2',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:float) float0048: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:not, type, type:float) float0048: is.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0049: is& (no items)',
# 'schema' => [
# 'float',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0049: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0049: is& (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0050: is& (ok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0050: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0050: is& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0051: is& (nok + ok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0051: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0051: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0052: is& (ok + nok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0052: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0052: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0053: is& (nok + nok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0053: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0053: is& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0054: is.op=and (no items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0054: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=type, type:float) float0054: is.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0055: is.op=and (ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0055: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:float) float0055: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0056: is.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0056: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:float) float0056: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0057: is.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0057: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:and, type, type:float) float0057: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0058: is.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0058: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:and, type, type:float) float0058: is.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0059: is| (no items)',
# 'schema' => [
# 'float',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0059: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0059: is| (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0060: is| (ok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0060: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0060: is| (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0061: is| (nok + ok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0061: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0061: is| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0062: is| (ok + nok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0062: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0062: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0063: is| (nok + nok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0063: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0063: is| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0064: is.op=or (no items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0064: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:float) float0064: is.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0065: is.op=or (ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0065: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:float) float0065: is.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0066: is.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0066: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:float) float0066: is.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0067: is.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0067: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:or, type, type:float) float0067: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0068: is.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0068: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:or, type, type:float) float0068: is.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0069: is.op=none (empty items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0069: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:float) float0069: is.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'float0070: is.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0070: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:float) float0070: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0071: is.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0071: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:float) float0071: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0072: is.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0072: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:is, op, op:none, type, type:float) float0072: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0073: is.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0073: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:is, op, op:none, type, type:float) float0073: is.op=none (ok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0074: in: must accept valid choices',
# 'schema' => [
# 'float',
# 'in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:float) float0074: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, type, type:float) float0074: in: must accept valid choices
# {
# 'input' => '1.1',
# 'name' => 'float0075: in: must reject empty choices',
# 'schema' => [
# 'float',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:float) float0075: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, type, type:float) float0075: in: must reject empty choices
# {
# 'input' => '1.1',
# 'name' => 'float0076: !in (nok)',
# 'schema' => [
# 'float',
# '!in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) float0076: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, opshortcut, type, type:float) float0076: !in (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0077: !in (ok)',
# 'schema' => [
# 'float',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) float0077: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:float) float0077: !in (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0078: in.op=not (nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# '1.1',
# '1.2'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:float) float0078: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:not, type, type:float) float0078: in.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0079: in.op=not (ok)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:float) float0079: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:not, type, type:float) float0079: in.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0080: in& (no items)',
# 'schema' => [
# 'float',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0080: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0080: in& (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0081: in& (ok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0081: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0081: in& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0082: in& (nok + ok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0082: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0082: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0083: in& (ok + nok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0083: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0083: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0084: in& (nok + nok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0084: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0084: in& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0085: in.op=and (no items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0085: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=type, type:float) float0085: in.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0086: in.op=and (ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0086: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:float) float0086: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0087: in.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0087: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:float) float0087: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0088: in.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0088: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:and, type, type:float) float0088: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0089: in.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0089: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:and, type, type:float) float0089: in.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0090: in| (no items)',
# 'schema' => [
# 'float',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0090: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0090: in| (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0091: in| (ok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0091: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0091: in| (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0092: in| (nok + ok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0092: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0092: in| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0093: in| (ok + nok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0093: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0093: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0094: in| (nok + nok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0094: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0094: in| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0095: in.op=or (no items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0095: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:float) float0095: in.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0096: in.op=or (ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0096: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:float) float0096: in.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0097: in.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0097: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:float) float0097: in.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0098: in.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0098: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:or, type, type:float) float0098: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0099: in.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0099: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:or, type, type:float) float0099: in.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0100: in.op=none (empty items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0100: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:float) float0100: in.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'float0101: in.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0101: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:float) float0101: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0102: in.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0102: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:float) float0102: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0103: in.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0103: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:in, op, op:none, type, type:float) float0103: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0104: in.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0104: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:in, op, op:none, type, type:float) float0104: in.op=none (ok + ok)
# {
# 'input' => '2.1',
# 'name' => 'float0105: min: 2.1 -3.1',
# 'schema' => [
# 'float',
# 'min',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:float) float0105: min: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:float) float0105: min: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'float0106: min: 2.1 2.1',
# 'schema' => [
# 'float',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:float) float0106: min: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:min, type, type:float) float0106: min: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0107: min: -3.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:float) float0107: min: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:min, type, type:float) float0107: min: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0108: xmin: 2.1 -3.1',
# 'schema' => [
# 'float',
# 'xmin',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:float) float0108: xmin: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:float) float0108: xmin: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'float0109: xmin: 2.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:float) float0109: xmin: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:xmin, type, type:float) float0109: xmin: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0110: xmin: -3.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:float) float0110: xmin: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:xmin, type, type:float) float0110: xmin: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0111: max: 2.1 -3.1 -> fail',
# 'schema' => [
# 'float',
# 'max',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:float) float0111: max: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:float) float0111: max: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0112: max: 2.1 2.1',
# 'schema' => [
# 'float',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:float) float0112: max: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:max, type, type:float) float0112: max: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0113: max: -3.1 2.1',
# 'schema' => [
# 'float',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:float) float0113: max: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:max, type, type:float) float0113: max: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0114: xmax: 2.1 -3.1 -> fail',
# 'schema' => [
# 'float',
# 'xmax',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:float) float0114: xmax: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:float) float0114: xmax: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0115: xmax: 2.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:float) float0115: xmax: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:xmax, type, type:float) float0115: xmax: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0116: xmax: -3.1 2.1',
# 'schema' => [
# 'float',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:float) float0116: xmax: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:xmax, type, type:float) float0116: xmax: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0117: between: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0117: between: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:float) float0117: between: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'float0118: between: 2.1 -3.1 & 2.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0118: between: 2.1 -3.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:float) float0118: between: 2.1 -3.1 & 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0119: between: 2.1 2.1 & 2.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0119: between: 2.1 2.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:between, type, type:float) float0119: between: 2.1 2.1 & 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0120: between: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:float) float0120: between: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:between, type, type:float) float0120: between: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0121: xbetween: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0121: xbetween: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:float) float0121: xbetween: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'float0122: xbetween: 2.1 -3.1 & 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0122: xbetween: 2.1 -3.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:float) float0122: xbetween: 2.1 -3.1 & 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0123: xbetween: 2.1 2.1 & 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0123: xbetween: 2.1 2.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:float) float0123: xbetween: 2.1 2.1 & 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0124: xbetween: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0124: xbetween: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:xbetween, type, type:float) float0124: xbetween: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0125: !between (nok)',
# 'schema' => [
# 'float',
# '!between',
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) float0125: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:float) float0125: !between (nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0126: !between (ok)',
# 'schema' => [
# 'float',
# '!between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) float0126: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:float) float0126: !between (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0127: between.op=not (nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '-3.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:float) float0127: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:float) float0127: between.op=not (nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0128: between.op=not (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '2.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:float) float0128: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:not, type, type:float) float0128: between.op=not (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0129: between& (no items)',
# 'schema' => [
# 'float',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0129: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0129: between& (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0130: between& (ok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0130: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0130: between& (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0131: between& (nok + ok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0131: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0131: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0132: between& (ok + nok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0132: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0132: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0133: between& (nok + nok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0133: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0133: between& (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0134: between.op=and (no items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0134: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=type, type:float) float0134: between.op=and (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0135: between.op=and (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0135: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:float) float0135: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0136: between.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0136: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:float) float0136: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0137: between.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0137: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:float) float0137: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0138: between.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0138: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:and, type, type:float) float0138: between.op=and (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0139: between| (no items)',
# 'schema' => [
# 'float',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0139: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0139: between| (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0140: between| (ok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0140: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0140: between| (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0141: between| (nok + ok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0141: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0141: between| (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0142: between| (ok + nok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0142: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0142: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0143: between| (nok + nok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0143: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0143: between| (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0144: between.op=or (no items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0144: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:float) float0144: between.op=or (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0145: between.op=or (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0145: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:float) float0145: between.op=or (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0146: between.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0146: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:float) float0146: between.op=or (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0147: between.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0147: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:float) float0147: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0148: between.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0148: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:or, type, type:float) float0148: between.op=or (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0149: between.op=none (empty items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0149: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:float) float0149: between.op=none (empty items)
# {
# 'input' => '-3.1',
# 'name' => 'float0150: between.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0150: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:float) float0150: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0151: between.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0151: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:float) float0151: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0152: between.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0152: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:float) float0152: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0153: between.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0153: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:between, op, op:none, type, type:float) float0153: between.op=none (ok + ok)
ok 154
1..154
ok 9 - 10-type-float.json
# Subtest: 10-type-hash.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => {},
# 'name' => 'hash0001: type check: must accept {}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0001: type check: must accept {}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:hash) hash0001: type check: must accept {}
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0002: type check: must accept {a=>1}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0002: type check: must accept {a=>1}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:hash) hash0002: type check: must accept {a=>1}
# {
# 'input' => {
# '' => []
# },
# 'name' => 'hash0003: type check: must accept {=>[]}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0003: type check: must accept {=>[]}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:hash) hash0003: type check: must accept {=>[]}
# {
# 'input' => 1,
# 'name' => 'hash0004: type check: must reject 1',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0004: type check: must reject 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:hash) hash0004: type check: must reject 1
# {
# 'input' => 'a',
# 'name' => 'hash0005: type check: must reject a',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:hash) hash0005: type check: must reject a
# {
# 'input' => [],
# 'name' => 'hash0006: type check: must reject []',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0006: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:hash) hash0006: type check: must reject []
# {
# 'input' => undef,
# 'name' => 'hash0007: must accept undefined value',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:hash) hash0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'hash0008: defhash_v',
# 'schema' => [
# 'hash',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:hash) hash0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:defhash_v, type, type:hash) hash0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'hash0009: v',
# 'schema' => [
# 'hash',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:hash) hash0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:v, type, type:hash) hash0009: v
# {
# 'input' => undef,
# 'name' => 'hash0010: c',
# 'schema' => [
# 'hash',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:hash) hash0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:c, type, type:hash) hash0010: c
# {
# 'input' => undef,
# 'name' => 'hash0011: default_lang',
# 'schema' => [
# 'hash',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:hash) hash0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:default_lang, type, type:hash) hash0011: default_lang
# {
# 'input' => undef,
# 'name' => 'hash0012: name',
# 'schema' => [
# 'hash',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:hash) hash0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:name, type, type:hash) hash0012: name
# {
# 'input' => undef,
# 'name' => 'hash0013: summary',
# 'schema' => [
# 'hash',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:hash) hash0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:summary, type, type:hash) hash0013: summary
# {
# 'input' => undef,
# 'name' => 'hash0014: description',
# 'schema' => [
# 'hash',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:hash) hash0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:description, type, type:hash) hash0014: description
# {
# 'input' => undef,
# 'name' => 'hash0015: tags',
# 'schema' => [
# 'hash',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:hash) hash0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:tags, type, type:hash) hash0015: tags
# {
# 'input' => undef,
# 'name' => 'hash0016: req=0 must accept undefined value',
# 'schema' => [
# 'hash',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:hash) hash0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:req, type, type:hash) hash0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'hash0017: req=1 must reject undefined value',
# 'schema' => [
# 'hash',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:hash) hash0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:hash) hash0017: req=1 must reject undefined value
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'hash',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:hash) hash0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:hash) hash0018: forbidden=0 must accept defined value
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'hash',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:hash) hash0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:hash) hash0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'hash0020: default: must accept valid default {}',
# 'schema' => [
# 'hash*',
# 'default',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:hash) hash0020: default: must accept valid default {}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:default, type, type:hash) hash0020: default: must accept valid default {}
# {
# 'input' => undef,
# 'name' => 'hash0021: default: must reject invalid default a',
# 'schema' => [
# 'hash*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:hash) hash0021: default: must reject invalid default a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:hash) hash0021: default: must reject invalid default a
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0022: clause (dies, unknown clause)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:hash) hash0022: clause (dies, unknown clause)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0023: clause (ok)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:clause, type, type:hash) hash0023: clause (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 1
# ],
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:hash) hash0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0025: clause (nok)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:hash) hash0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0026: clset (dies, unknown clause)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:hash) hash0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0027: clset (dies, unknown attr)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:hash) hash0027: clset (dies, unknown attr)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0028: clset (empty = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=type, type:hash) hash0028: clset (empty = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=clause:clset, type, type:hash) hash0029: clset (ignored clause/attr = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0030: clset (ok + ok = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:hash) hash0030: clset (ok + ok = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'min_len' => 1
# },
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:hash) hash0031: clset (ok) + clause nok = nok
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0032: clset (ok + nok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:hash) hash0032: clset (ok + nok = nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0033: clset (nok + ok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:hash) hash0033: clset (nok + ok = nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0034: clset (nok + nok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:hash) hash0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'hash0035: ok',
# 'schema' => [
# 'hash',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:hash) hash0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:ok, type, type:hash) hash0035: ok
# {
# 'input' => undef,
# 'name' => 'hash0036: ok + op not (nok)',
# 'schema' => [
# 'hash',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:hash) hash0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, op, op:not, type, type:hash) hash0036: ok + op not (nok)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=attr, attr:err_level, type, type:hash) hash0037: .err_level=error (clause=is, ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:hash) hash0038: .err_level=error (clause=is, nok)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# },
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:hash) hash0039: .err_level=warn (clause=is, ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'hash*',
# 'is',
# {
# 'a' => 0
# },
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:hash) hash0040: .err_level=warn (clause=is, nok)
# {
# 'input' => {},
# 'name' => 'hash0041: is: must accept same value',
# 'schema' => [
# 'hash',
# 'is',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:hash) hash0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:hash) hash0041: is: must accept same value
# {
# 'input' => {},
# 'name' => 'hash0042: is: must reject different value',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:hash) hash0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:hash) hash0042: is: must reject different value
# {
# 'input' => {},
# 'name' => 'hash0043: !is (nok)',
# 'schema' => [
# 'hash',
# '!is',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0043: !is (nok)
# {
# 'input' => {},
# 'name' => 'hash0044: !is (ok)',
# 'schema' => [
# 'hash',
# '!is',
# {
# 'a' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0044: !is (ok)
# {
# 'input' => {},
# 'name' => 'hash0045: is.op=not (nok)',
# 'schema' => [
# 'hash',
# 'is',
# {},
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:hash) hash0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, type, type:hash) hash0045: is.op=not (nok)
# {
# 'input' => {},
# 'name' => 'hash0046: is.op=not (ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 1
# },
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:hash) hash0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:hash) hash0046: is.op=not (ok)
# {
# 'input' => {},
# 'name' => 'hash0047: is& (no items)',
# 'schema' => [
# 'hash',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0047: is& (no items)
# {
# 'input' => {},
# 'name' => 'hash0048: is& (ok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {},
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0049: is& (nok + ok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {
# 'a' => 1
# },
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0050: is& (ok + nok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0051: is& (nok + nok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0051: is& (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0052: is.op=and (no items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=type, type:hash) hash0052: is.op=and (no items)
# {
# 'input' => {},
# 'name' => 'hash0053: is.op=and (ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, type, type:hash) hash0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0054: is.op=and (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:hash) hash0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0055: is.op=and (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:hash) hash0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0056: is.op=and (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:hash) hash0056: is.op=and (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0057: is| (no items)',
# 'schema' => [
# 'hash',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0057: is| (no items)
# {
# 'input' => {},
# 'name' => 'hash0058: is| (ok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {},
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0058: is| (ok)
# {
# 'input' => {},
# 'name' => 'hash0059: is| (nok + ok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {
# 'a' => 1
# },
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0059: is| (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0060: is| (ok + nok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0061: is| (nok + nok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0061: is| (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0062: is.op=or (no items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, type, type:hash) hash0062: is.op=or (no items)
# {
# 'input' => {},
# 'name' => 'hash0063: is.op=or (ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:hash) hash0063: is.op=or (ok)
# {
# 'input' => {},
# 'name' => 'hash0064: is.op=or (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:hash) hash0064: is.op=or (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0065: is.op=or (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:hash) hash0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0066: is.op=or (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:hash) hash0066: is.op=or (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0067: is.op=none (empty items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:none, type, type:hash) hash0067: is.op=none (empty items)
# {
# 'input' => {},
# 'name' => 'hash0068: is.op=none (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:hash) hash0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0069: is.op=none (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:hash) hash0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0070: is.op=none (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:hash) hash0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0071: is.op=none (ok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:hash) hash0071: is.op=none (ok + ok)
# {
# 'input' => {},
# 'name' => 'hash0072: in: must accept valid choices',
# 'schema' => [
# 'hash',
# 'in',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:hash) hash0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:hash) hash0072: in: must accept valid choices
# {
# 'input' => {},
# 'name' => 'hash0073: in: must reject empty choices',
# 'schema' => [
# 'hash',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:hash) hash0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:hash) hash0073: in: must reject empty choices
# {
# 'input' => {},
# 'name' => 'hash0074: !in (nok)',
# 'schema' => [
# 'hash',
# '!in',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0074: !in (nok)
# {
# 'input' => {},
# 'name' => 'hash0075: !in (ok)',
# 'schema' => [
# 'hash',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0075: !in (ok)
# {
# 'input' => {},
# 'name' => 'hash0076: in.op=not (nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:hash) hash0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, type, type:hash) hash0076: in.op=not (nok)
# {
# 'input' => {},
# 'name' => 'hash0077: in.op=not (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:hash) hash0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:hash) hash0077: in.op=not (ok)
# {
# 'input' => {},
# 'name' => 'hash0078: in& (no items)',
# 'schema' => [
# 'hash',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0078: in& (no items)
# {
# 'input' => {},
# 'name' => 'hash0079: in& (ok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0080: in& (nok + ok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0081: in& (ok + nok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0082: in& (nok + nok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0082: in& (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0083: in.op=and (no items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=type, type:hash) hash0083: in.op=and (no items)
# {
# 'input' => {},
# 'name' => 'hash0084: in.op=and (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, type, type:hash) hash0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0085: in.op=and (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:hash) hash0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0086: in.op=and (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:hash) hash0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0087: in.op=and (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:hash) hash0087: in.op=and (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0088: in| (no items)',
# 'schema' => [
# 'hash',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0088: in| (no items)
# {
# 'input' => {},
# 'name' => 'hash0089: in| (ok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0089: in| (ok)
# {
# 'input' => {},
# 'name' => 'hash0090: in| (nok + ok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0090: in| (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0091: in| (ok + nok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0092: in| (nok + nok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0092: in| (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0093: in.op=or (no items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, type, type:hash) hash0093: in.op=or (no items)
# {
# 'input' => {},
# 'name' => 'hash0094: in.op=or (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:hash) hash0094: in.op=or (ok)
# {
# 'input' => {},
# 'name' => 'hash0095: in.op=or (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:hash) hash0095: in.op=or (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0096: in.op=or (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:hash) hash0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0097: in.op=or (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:hash) hash0097: in.op=or (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0098: in.op=none (empty items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:none, type, type:hash) hash0098: in.op=none (empty items)
# {
# 'input' => {},
# 'name' => 'hash0099: in.op=none (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:hash) hash0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0100: in.op=none (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:hash) hash0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0101: in.op=none (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:hash) hash0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0102: in.op=none (ok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:hash) hash0102: in.op=none (ok + ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0103: len (ok)',
# 'schema' => [
# 'hash',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:hash) hash0103: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:len, type, type:hash) hash0103: len (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0104: len (nok)',
# 'schema' => [
# 'hash',
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:hash) hash0104: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:len, type, type:hash) hash0104: len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0105: min_len (ok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:hash) hash0105: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min_len, type, type:hash) hash0105: min_len (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0106: min_len (nok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:hash) hash0106: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:min_len, type, type:hash) hash0106: min_len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0107: max_len (ok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:hash) hash0107: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:max_len, type, type:hash) hash0107: max_len (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0108: max_len (nok)',
# 'schema' => [
# 'hash',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:hash) hash0108: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:max_len, type, type:hash) hash0108: max_len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0109: len_between (ok)',
# 'schema' => [
# 'hash',
# 'len_between',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:hash) hash0109: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:len_between, type, type:hash) hash0109: len_between (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0110: len_between (nok)',
# 'schema' => [
# 'hash',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:hash) hash0110: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:len_between, type, type:hash) hash0110: len_between (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0111: each_index (ok)',
# 'schema' => [
# 'hash',
# 'each_index',
# [
# 'str',
# 'len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:hash) hash0111: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:each_index, type, type:hash) hash0111: each_index (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0112: each_index (nok)',
# 'schema' => [
# 'hash',
# 'each_index',
# [
# 'str',
# 'len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:hash) hash0112: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:each_index, type, type:hash) hash0112: each_index (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0113: each_key (ok)',
# 'schema' => [
# 'hash',
# 'each_key',
# [
# 'str',
# 'len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_key'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_key, type, type:hash) hash0113: each_key (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:each_key, type, type:hash) hash0113: each_key (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0114: each_key (nok)',
# 'schema' => [
# 'hash',
# 'each_key',
# [
# 'str',
# 'len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_key'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_key, type, type:hash) hash0114: each_key (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:each_key, type, type:hash) hash0114: each_key (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0115: each_elem (ok)',
# 'schema' => [
# 'hash',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:hash) hash0115: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:each_elem, type, type:hash) hash0115: each_elem (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0116: each_elem (nok)',
# 'schema' => [
# 'hash',
# 'each_elem',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:hash) hash0116: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:each_elem, type, type:hash) hash0116: each_elem (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0117: each_value (ok)',
# 'schema' => [
# 'hash',
# 'each_value',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_value'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_value, type, type:hash) hash0117: each_value (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:each_value, type, type:hash) hash0117: each_value (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0118: each_value (nok)',
# 'schema' => [
# 'hash',
# 'each_value',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_value'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_value, type, type:hash) hash0118: each_value (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:each_value, type, type:hash) hash0118: each_value (nok)
# {
# 'invalid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0127: has',
# 'schema' => [
# 'hash',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, type, type:hash) hash0127: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 119 - (tags=clause:has, type, type:hash) hash0127: has
# {
# 'invalid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ],
# 'name' => 'hash0128: has + op.not',
# 'schema' => [
# 'hash',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:hash) hash0128: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 120 - (tags=clause:has, op, op:not, opshortcut, type, type:hash) hash0128: has + op.not
# {
# 'invalid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0129: has + op.or',
# 'schema' => [
# 'hash',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:hash) hash0129: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 121 - (tags=clause:has, op, op:or, opshortcut, type, type:hash) hash0129: has + op.or
# {
# 'invalid_inputs' => [
# {
# '1' => 'a',
# '3' => 'c'
# },
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0130: has + op.and',
# 'schema' => [
# 'hash',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:hash) hash0130: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 122 - (tags=clause:has, op, op:and, opshortcut, type, type:hash) hash0130: has + op.and
# {
# 'input' => {},
# 'name' => 'hash0136: keys: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0136: keys: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:keys, type, type:hash) hash0136: keys: (ok, empty)
# {
# 'input' => {
# 'a' => undef
# },
# 'name' => 'hash0137: keys: (ok, only a, a valid 1)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0137: keys: (ok, only a, a valid 1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:keys, type, type:hash) hash0137: keys: (ok, only a, a valid 1)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0138: keys: (ok, only a, a valid 2)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0138: keys: (ok, only a, a valid 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:keys, type, type:hash) hash0138: keys: (ok, only a, a valid 2)
# {
# 'input' => {
# 'a' => '1.1'
# },
# 'name' => 'hash0139: keys: (nok, only a, a invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0139: keys: (nok, only a, a invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:keys, type, type:hash) hash0139: keys: (nok, only a, a invalid)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0140: keys: (ok, only a, valid 2)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0140: keys: (ok, only a, valid 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:keys, type, type:hash) hash0140: keys: (ok, only a, valid 2)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0141: keys: (ok, a & b, valid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0141: keys: (ok, a & b, valid)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:keys, type, type:hash) hash0141: keys: (ok, a & b, valid)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0142: keys: (nok, a & b, b invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0142: keys: (nok, a & b, b invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:keys, type, type:hash) hash0142: keys: (nok, a & b, b invalid)
# {
# 'input' => {
# 'a' => '1.1',
# 'b' => '1.1'
# },
# 'name' => 'hash0143: keys: (nok, a & b, a invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0143: keys: (nok, a & b, a invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:keys, type, type:hash) hash0143: keys: (nok, a & b, a invalid)
# {
# 'input' => {
# 'a' => '1.1',
# 'b' => undef
# },
# 'name' => 'hash0144: keys: (nok, a & b, a & b invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0144: keys: (nok, a & b, a & b invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:keys, type, type:hash) hash0144: keys: (nok, a & b, a & b invalid)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1',
# 'c' => 1
# },
# 'name' => 'hash0145: keys: (nok, extra)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0145: keys: (nok, extra)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:keys, type, type:hash) hash0145: keys: (nok, extra)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1',
# 'c' => 1
# },
# 'name' => 'hash0146: keys: (ok, extra, restrict=0)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0146: keys: (ok, extra, restrict=0)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:keys, type, type:hash) hash0146: keys: (ok, extra, restrict=0)
# {
# 'input' => {},
# 'name' => 'hash0147: keys (create_default=1) 1',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0147: keys (create_default=1) 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 134 - (tags=clause:keys, type, type:hash) hash0147: keys (create_default=1) 1
# {
# 'input' => {
# 'b' => undef
# },
# 'name' => 'hash0148: keys (create_default=1) 2',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0148: keys (create_default=1) 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 135 - (tags=clause:keys, type, type:hash) hash0148: keys (create_default=1) 2
# {
# 'input' => {},
# 'name' => 'hash0149: keys (create_default=0) 1',
# 'output' => {},
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# },
# 'keys.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0149: keys (create_default=0) 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 136 - (tags=clause:keys, type, type:hash) hash0149: keys (create_default=0) 1
# {
# 'input' => {
# 'b' => undef
# },
# 'name' => 'hash0150: keys (create_default=0) 2',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# },
# 'keys.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0150: keys (create_default=0) 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - output
ok 4 - valid (rt=str)
ok 5 - validator (rt=full) returns hash
ok 6 - errors (rt=full)
ok 7 - warnings (rt=full)
1..7
ok 137 - (tags=clause:keys, type, type:hash) hash0150: keys (create_default=0) 2
# {
# 'invalid_inputs' => [
# {
# 'a' => 'x'
# },
# {
# 'b' => 'x'
# },
# {
# 'c' => 1
# }
# ],
# 'name' => 'hash0151: re_keys',
# 'schema' => [
# 'hash',
# {
# 're_keys' => {
# '[ab]' => 'int'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:re_keys'
# ],
# 'valid_inputs' => [
# {},
# {
# 'a' => 1
# },
# {
# 'b' => 1
# }
# ]
# }
# Subtest: (tags=clause:re_keys, type, type:hash) hash0151: re_keys
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - invalid input [2]
ok 8 - validator (rt=full) returns hash
1..8
ok 138 - (tags=clause:re_keys, type, type:hash) hash0151: re_keys
# {
# 'invalid_inputs' => [
# {
# 'a' => 'x'
# },
# {
# 'b' => 'x'
# }
# ],
# 'name' => 'hash0152: re_keys (restrict=0)',
# 'schema' => [
# 'hash',
# {
# 're_keys' => {
# '[ab]' => 'int'
# },
# 're_keys.restrict' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:re_keys'
# ],
# 'valid_inputs' => [
# {},
# {
# 'a' => 1
# },
# {
# 'b' => 1
# },
# {
# 'c' => 'x'
# }
# ]
# }
# Subtest: (tags=clause:re_keys, type, type:hash) hash0152: re_keys (restrict=0)
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - valid input [3]
ok 6 - invalid input [0]
ok 7 - invalid input [1]
ok 8 - validator (rt=full) returns hash
1..8
ok 139 - (tags=clause:re_keys, type, type:hash) hash0152: re_keys (restrict=0)
# {
# 'input' => {},
# 'name' => 'hash0153: req_keys: (ok, empty req_keys, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => []
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0153: req_keys: (ok, empty req_keys, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:req_keys, type, type:hash) hash0153: req_keys: (ok, empty req_keys, empty keys in input)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0154: req_keys: (ok, empty req_keys, extra keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => []
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0154: req_keys: (ok, empty req_keys, extra keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:req_keys, type, type:hash) hash0154: req_keys: (ok, empty req_keys, extra keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => 1
# },
# 'name' => 'hash0155: req_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0155: req_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:req_keys, type, type:hash) hash0155: req_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => 1,
# 'c' => 1
# },
# 'name' => 'hash0156: req_keys: (ok, extra keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0156: req_keys: (ok, extra keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:req_keys, type, type:hash) hash0156: req_keys: (ok, extra keys in input)
# {
# 'input' => {
# 'b' => 1,
# 'c' => 1
# },
# 'name' => 'hash0157: req_keys: (nok, missing req keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0157: req_keys: (nok, missing req keys in input)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:req_keys, type, type:hash) hash0157: req_keys: (nok, missing req keys in input)
# {
# 'input' => {},
# 'name' => 'hash0158: allowed_keys: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0158: allowed_keys: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:allowed_keys, type, type:hash) hash0158: allowed_keys: (ok, empty keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0159: allowed_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0159: allowed_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:allowed_keys, type, type:hash) hash0159: allowed_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0160: allowed_keys: (nok, keys outside allowed list)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0160: allowed_keys: (nok, keys outside allowed list)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:allowed_keys, type, type:hash) hash0160: allowed_keys: (nok, keys outside allowed list)
# {
# 'input' => {},
# 'name' => 'hash0161: allowed_keys_re: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0161: allowed_keys_re: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:allowed_keys_re, type, type:hash) hash0161: allowed_keys_re: (ok, empty keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0162: allowed_keys_re: (ok)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0162: allowed_keys_re: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:allowed_keys_re, type, type:hash) hash0162: allowed_keys_re: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0163: allowed_keys_re: (nok, keys outside allowed regex)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0163: allowed_keys_re: (nok, keys outside allowed regex)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:allowed_keys_re, type, type:hash) hash0163: allowed_keys_re: (nok, keys outside allowed regex)
# {
# 'input' => {},
# 'name' => 'hash0164: forbidden_keys: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0164: forbidden_keys: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:forbidden_keys, type, type:hash) hash0164: forbidden_keys: (ok, empty keys in input)
# {
# 'input' => {
# 'd' => 1,
# 'e' => undef
# },
# 'name' => 'hash0165: forbidden_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0165: forbidden_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:forbidden_keys, type, type:hash) hash0165: forbidden_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0166: forbidden_keys: (nok, keys in forbidden list)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0166: forbidden_keys: (nok, keys in forbidden list)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:forbidden_keys, type, type:hash) hash0166: forbidden_keys: (nok, keys in forbidden list)
# {
# 'input' => {},
# 'name' => 'hash0167: forbidden_keys_re: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0167: forbidden_keys_re: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:forbidden_keys_re, type, type:hash) hash0167: forbidden_keys_re: (ok, empty keys in input)
# {
# 'input' => {
# 'd' => 1,
# 'e' => undef
# },
# 'name' => 'hash0168: forbidden_keys_re: (ok)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0168: forbidden_keys_re: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:forbidden_keys_re, type, type:hash) hash0168: forbidden_keys_re: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0169: forbidden_keys_re: (nok, keys in forbidden regex)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0169: forbidden_keys_re: (nok, keys in forbidden regex)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:forbidden_keys_re, type, type:hash) hash0169: forbidden_keys_re: (nok, keys in forbidden regex)
# {
# 'input' => {},
# 'name' => 'hash0170: choose_one_key: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0170: choose_one_key: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=type, type:hash) hash0170: choose_one_key: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0171: choose_one_key: (ok, a)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0171: choose_one_key: (ok, a)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=type, type:hash) hash0171: choose_one_key: (ok, a)
# {
# 'input' => {
# 'a' => 0,
# 'd' => 0
# },
# 'name' => 'hash0172: choose_one_key: (ok, a+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0172: choose_one_key: (ok, a+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=type, type:hash) hash0172: choose_one_key: (ok, a+d)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0173: choose_one_key: (ok, b)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0173: choose_one_key: (ok, b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=type, type:hash) hash0173: choose_one_key: (ok, b)
# {
# 'input' => {
# 'b' => 0,
# 'd' => 0
# },
# 'name' => 'hash0174: choose_one_key: (ok, b+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0174: choose_one_key: (ok, b+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=type, type:hash) hash0174: choose_one_key: (ok, b+d)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0175: choose_one_key: (nok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0175: choose_one_key: (nok, a+b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=type, type:hash) hash0175: choose_one_key: (nok, a+b)
# {
# 'input' => {},
# 'name' => 'hash0176: choose_all_keys: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0176: choose_all_keys: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=type, type:hash) hash0176: choose_all_keys: (ok, empty)
# {
# 'input' => {
# 'd' => 0
# },
# 'name' => 'hash0177: choose_all_keys: (ok, d)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0177: choose_all_keys: (ok, d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 164 - (tags=type, type:hash) hash0177: choose_all_keys: (ok, d)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0178: choose_all_keys: (ok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0178: choose_all_keys: (ok, a+b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 165 - (tags=type, type:hash) hash0178: choose_all_keys: (ok, a+b)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0,
# 'd' => 0
# },
# 'name' => 'hash0179: choose_all_keys: (ok, a+b+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0179: choose_all_keys: (ok, a+b+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 166 - (tags=type, type:hash) hash0179: choose_all_keys: (ok, a+b+d)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0180: choose_all_keys: (nok, a)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0180: choose_all_keys: (nok, a)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 167 - (tags=type, type:hash) hash0180: choose_all_keys: (nok, a)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0181: choose_all_keys: (nok, b)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0181: choose_all_keys: (nok, b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=type, type:hash) hash0181: choose_all_keys: (nok, b)
# {
# 'input' => {},
# 'name' => 'hash0182: req_one_key: (nok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0182: req_one_key: (nok, empty)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 169 - (tags=type, type:hash) hash0182: req_one_key: (nok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0183: req_one_key: (ok, a)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0183: req_one_key: (ok, a)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=type, type:hash) hash0183: req_one_key: (ok, a)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0184: req_one_key: (ok, b)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0184: req_one_key: (ok, b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=type, type:hash) hash0184: req_one_key: (ok, b)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0185: req_one_key: (nok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0185: req_one_key: (nok, a+b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 172 - (tags=type, type:hash) hash0185: req_one_key: (nok, a+b)
# {
# 'input' => {},
# 'name' => 'hash0186: dep_any: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0186: dep_any: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=type, type:hash) hash0186: dep_any: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0187: dep_any: (nok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0187: dep_any: (nok, a specified without d1/d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=type, type:hash) hash0187: dep_any: (nok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0188: dep_any: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0188: dep_any: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=type, type:hash) hash0188: dep_any: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0189: dep_any: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0189: dep_any: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=type, type:hash) hash0189: dep_any: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0190: dep_any: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0190: dep_any: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 177 - (tags=type, type:hash) hash0190: dep_any: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0191: dep_any: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0191: dep_any: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 178 - (tags=type, type:hash) hash0191: dep_any: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0192: dep_all: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0192: dep_all: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 179 - (tags=type, type:hash) hash0192: dep_all: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0193: dep_all: (nok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0193: dep_all: (nok, a specified without d1/d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 180 - (tags=type, type:hash) hash0193: dep_all: (nok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0194: dep_all: (nok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0194: dep_all: (nok, a specified with d1)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 181 - (tags=type, type:hash) hash0194: dep_all: (nok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0195: dep_all: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0195: dep_all: (ok, a specified with d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 182 - (tags=type, type:hash) hash0195: dep_all: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0196: dep_all: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0196: dep_all: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 183 - (tags=type, type:hash) hash0196: dep_all: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0197: dep_all: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0197: dep_all: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 184 - (tags=type, type:hash) hash0197: dep_all: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0198: req_dep_any: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0198: req_dep_any: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 185 - (tags=type, type:hash) hash0198: req_dep_any: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0199: req_dep_any: (ok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0199: req_dep_any: (ok, a specified without d1/d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 186 - (tags=type, type:hash) hash0199: req_dep_any: (ok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0200: req_dep_any: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0200: req_dep_any: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 187 - (tags=type, type:hash) hash0200: req_dep_any: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0201: req_dep_any: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0201: req_dep_any: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 188 - (tags=type, type:hash) hash0201: req_dep_any: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0202: req_dep_any: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0202: req_dep_any: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 189 - (tags=type, type:hash) hash0202: req_dep_any: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0
# },
# 'name' => 'hash0203: req_dep_any: (ok, no a with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0203: req_dep_any: (ok, no a with d1)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 190 - (tags=type, type:hash) hash0203: req_dep_any: (ok, no a with d1)
# {
# 'input' => {
# 'd2' => 0
# },
# 'name' => 'hash0204: req_dep_any: (ok, no a with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0204: req_dep_any: (ok, no a with d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 191 - (tags=type, type:hash) hash0204: req_dep_any: (ok, no a with d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0205: req_dep_any: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0205: req_dep_any: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 192 - (tags=type, type:hash) hash0205: req_dep_any: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0206: req_dep_all: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0206: req_dep_all: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 193 - (tags=type, type:hash) hash0206: req_dep_all: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0207: req_dep_all: (ok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0207: req_dep_all: (ok, a specified without d1/d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 194 - (tags=type, type:hash) hash0207: req_dep_all: (ok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0208: req_dep_all: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0208: req_dep_all: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 195 - (tags=type, type:hash) hash0208: req_dep_all: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0209: req_dep_all: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0209: req_dep_all: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 196 - (tags=type, type:hash) hash0209: req_dep_all: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0210: req_dep_all: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0210: req_dep_all: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 197 - (tags=type, type:hash) hash0210: req_dep_all: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0
# },
# 'name' => 'hash0211: req_dep_all: (ok, no a with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0211: req_dep_all: (ok, no a with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 198 - (tags=type, type:hash) hash0211: req_dep_all: (ok, no a with d1)
# {
# 'input' => {
# 'd2' => 0
# },
# 'name' => 'hash0212: req_dep_all: (ok, no a with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0212: req_dep_all: (ok, no a with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 199 - (tags=type, type:hash) hash0212: req_dep_all: (ok, no a with d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0213: req_dep_all: (nok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0213: req_dep_all: (nok, no a with d1 & d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 200 - (tags=type, type:hash) hash0213: req_dep_all: (nok, no a with d1 & d2)
ok 201
1..201
ok 10 - 10-type-hash.json
# Subtest: 10-type-int.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => -1,
# 'name' => 'int0001: type check: must accept -1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0001: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:int) int0001: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'int0002: type check: must accept 0',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0002: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:int) int0002: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'int0003: type check: must accept 1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0003: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:int) int0003: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'int0004: type check: must reject 1.1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0004: type check: must reject 1.1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:int) int0004: type check: must reject 1.1
# {
# 'input' => 'a',
# 'name' => 'int0005: type check: must reject a',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:int) int0005: type check: must reject a
# {
# 'input' => [],
# 'name' => 'int0006: type check: must reject []',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0006: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:int) int0006: type check: must reject []
# {
# 'input' => {},
# 'name' => 'int0007: type check: must reject {}',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0007: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:int) int0007: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'int0008: must accept undefined value',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0008: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=type, type:int) int0008: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'int0009: defhash_v',
# 'schema' => [
# 'int',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:int) int0009: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:defhash_v, type, type:int) int0009: defhash_v
# {
# 'input' => undef,
# 'name' => 'int0010: v',
# 'schema' => [
# 'int',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:int) int0010: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:v, type, type:int) int0010: v
# {
# 'input' => undef,
# 'name' => 'int0011: c',
# 'schema' => [
# 'int',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:int) int0011: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:c, type, type:int) int0011: c
# {
# 'input' => undef,
# 'name' => 'int0012: default_lang',
# 'schema' => [
# 'int',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:int) int0012: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:default_lang, type, type:int) int0012: default_lang
# {
# 'input' => undef,
# 'name' => 'int0013: name',
# 'schema' => [
# 'int',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:int) int0013: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:name, type, type:int) int0013: name
# {
# 'input' => undef,
# 'name' => 'int0014: summary',
# 'schema' => [
# 'int',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:int) int0014: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:summary, type, type:int) int0014: summary
# {
# 'input' => undef,
# 'name' => 'int0015: description',
# 'schema' => [
# 'int',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:int) int0015: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:description, type, type:int) int0015: description
# {
# 'input' => undef,
# 'name' => 'int0016: tags',
# 'schema' => [
# 'int',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:int) int0016: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:tags, type, type:int) int0016: tags
# {
# 'input' => undef,
# 'name' => 'int0017: req=0 must accept undefined value',
# 'schema' => [
# 'int',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:int) int0017: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:int) int0017: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'int0018: req=1 must reject undefined value',
# 'schema' => [
# 'int',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:int) int0018: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:req, type, type:int) int0018: req=1 must reject undefined value
# {
# 'input' => 2,
# 'name' => 'int0019: forbidden=0 must accept defined value',
# 'schema' => [
# 'int',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:int) int0019: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:int) int0019: forbidden=0 must accept defined value
# {
# 'input' => 2,
# 'name' => 'int0020: forbidden=1 must reject defined value',
# 'schema' => [
# 'int',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:int) int0020: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:forbidden, type, type:int) int0020: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'int0021: default: must accept valid default 1',
# 'schema' => [
# 'int*',
# 'default',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:int) int0021: default: must accept valid default 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:int) int0021: default: must accept valid default 1
# {
# 'input' => undef,
# 'name' => 'int0022: default: must reject invalid default []',
# 'schema' => [
# 'int*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:int) int0022: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 22 - (tags=clause:default, type, type:int) int0022: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0023: clause (dies, unknown clause)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:int) int0023: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 23 - (tags=clause:clause, type, type:int) int0023: clause (dies, unknown clause)
# {
# 'input' => 2,
# 'name' => 'int0024: clause (ok)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:int) int0024: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:int) int0024: clause (ok)
# {
# 'input' => 2,
# 'name' => 'int0025: clause (ok) + clause nok = nok',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:int) int0025: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:int) int0025: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 2,
# 'name' => 'int0026: clause (nok)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:int) int0026: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 26 - (tags=clause:clause, type, type:int) int0026: clause (nok)
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0027: clset (dies, unknown clause)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:int) int0027: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:int) int0027: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0028: clset (dies, unknown attr)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:int) int0028: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:int) int0028: clset (dies, unknown attr)
# {
# 'input' => 2,
# 'name' => 'int0029: clset (empty = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0029: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=type, type:int) int0029: clset (empty = ok)
# {
# 'input' => 2,
# 'name' => 'int0030: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:int) int0030: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:int) int0030: clset (ignored clause/attr = ok)
# {
# 'input' => 2,
# 'name' => 'int0031: clset (ok + ok = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'max' => 2,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:int) int0031: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:int) int0031: clset (ok + ok = ok)
# {
# 'input' => 2,
# 'name' => 'int0032: clset (ok) + clause nok = nok',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 1
# },
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0032: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:int) int0032: clset (ok) + clause nok = nok
# {
# 'input' => 2,
# 'name' => 'int0033: clset (ok + nok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 1,
# 'xmax' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0033: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:int) int0033: clset (ok + nok = nok)
# {
# 'input' => 2,
# 'name' => 'int0034: clset (nok + ok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'max' => 2,
# 'min' => 3
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0034: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:int) int0034: clset (nok + ok = nok)
# {
# 'input' => 2,
# 'name' => 'int0035: clset (nok + nok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 3,
# 'xmax' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0035: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:clset, type, type:int) int0035: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'int0036: ok',
# 'schema' => [
# 'int',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:int) int0036: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, type, type:int) int0036: ok
# {
# 'input' => undef,
# 'name' => 'int0037: ok + op not (nok)',
# 'schema' => [
# 'int',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:int) int0037: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=clause:ok, op, op:not, type, type:int) int0037: ok + op not (nok)
# {
# 'input' => 9,
# 'name' => 'int0038: .err_level=error (clause=div_by, ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0038: .err_level=error (clause=div_by, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:int) int0038: .err_level=error (clause=div_by, ok)
# {
# 'input' => 8,
# 'name' => 'int0039: .err_level=error (clause=div_by, nok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0039: .err_level=error (clause=div_by, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:int) int0039: .err_level=error (clause=div_by, nok)
# {
# 'input' => 9,
# 'name' => 'int0040: .err_level=warn (clause=div_by, ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3,
# 'div_by.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0040: .err_level=warn (clause=div_by, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:int) int0040: .err_level=warn (clause=div_by, ok)
# {
# 'input' => 8,
# 'name' => 'int0041: .err_level=warn (clause=div_by, nok)',
# 'schema' => [
# 'int*',
# 'div_by',
# 3,
# 'div_by.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0041: .err_level=warn (clause=div_by, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:int) int0041: .err_level=warn (clause=div_by, nok)
# {
# 'input' => 1,
# 'name' => 'int0042: is: must accept same value',
# 'schema' => [
# 'int',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:int) int0042: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:int) int0042: is: must accept same value
# {
# 'input' => 1,
# 'name' => 'int0043: is: must reject different value',
# 'schema' => [
# 'int',
# 'is',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:int) int0043: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, type, type:int) int0043: is: must reject different value
# {
# 'input' => 1,
# 'name' => 'int0044: !is (nok)',
# 'schema' => [
# 'int',
# '!is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) int0044: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:int) int0044: !is (nok)
# {
# 'input' => 1,
# 'name' => 'int0045: !is (ok)',
# 'schema' => [
# 'int',
# '!is',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) int0045: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, opshortcut, type, type:int) int0045: !is (ok)
# {
# 'input' => 1,
# 'name' => 'int0046: is.op=not (nok)',
# 'schema' => [
# 'int',
# 'is',
# 1,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:int) int0046: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:int) int0046: is.op=not (nok)
# {
# 'input' => 1,
# 'name' => 'int0047: is.op=not (ok)',
# 'schema' => [
# 'int',
# 'is',
# 2,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:int) int0047: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:not, type, type:int) int0047: is.op=not (ok)
# {
# 'input' => 1,
# 'name' => 'int0048: is& (no items)',
# 'schema' => [
# 'int',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0048: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0048: is& (no items)
# {
# 'input' => 1,
# 'name' => 'int0049: is& (ok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0049: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0049: is& (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0050: is& (nok + ok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 2,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0050: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0050: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0051: is& (ok + nok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0051: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0051: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0052: is& (nok + nok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0052: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0052: is& (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0053: is.op=and (no items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0053: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=type, type:int) int0053: is.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'int0054: is.op=and (ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0054: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:int) int0054: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0055: is.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0055: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:int) int0055: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0056: is.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0056: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:int) int0056: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0057: is.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0057: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:and, type, type:int) int0057: is.op=and (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0058: is| (no items)',
# 'schema' => [
# 'int',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0058: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0058: is| (no items)
# {
# 'input' => 1,
# 'name' => 'int0059: is| (ok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0059: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0059: is| (ok)
# {
# 'input' => 1,
# 'name' => 'int0060: is| (nok + ok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 2,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0060: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0060: is| (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0061: is| (ok + nok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0061: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0061: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0062: is| (nok + nok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0062: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0062: is| (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0063: is.op=or (no items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0063: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:int) int0063: is.op=or (no items)
# {
# 'input' => 1,
# 'name' => 'int0064: is.op=or (ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0064: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:int) int0064: is.op=or (ok)
# {
# 'input' => 1,
# 'name' => 'int0065: is.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0065: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:int) int0065: is.op=or (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0066: is.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0066: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:int) int0066: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0067: is.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0067: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:or, type, type:int) int0067: is.op=or (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0068: is.op=none (empty items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0068: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:int) int0068: is.op=none (empty items)
# {
# 'input' => 1,
# 'name' => 'int0069: is.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0069: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:int) int0069: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0070: is.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0070: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:int) int0070: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0071: is.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0071: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:int) int0071: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0072: is.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0072: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:is, op, op:none, type, type:int) int0072: is.op=none (ok + ok)
# {
# 'input' => 1,
# 'name' => 'int0073: in: must accept valid choices',
# 'schema' => [
# 'int',
# 'in',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:int) int0073: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:int) int0073: in: must accept valid choices
# {
# 'input' => 1,
# 'name' => 'int0074: in: must reject empty choices',
# 'schema' => [
# 'int',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:int) int0074: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, type, type:int) int0074: in: must reject empty choices
# {
# 'input' => 1,
# 'name' => 'int0075: !in (nok)',
# 'schema' => [
# 'int',
# '!in',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) int0075: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:int) int0075: !in (nok)
# {
# 'input' => 1,
# 'name' => 'int0076: !in (ok)',
# 'schema' => [
# 'int',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) int0076: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, opshortcut, type, type:int) int0076: !in (ok)
# {
# 'input' => 1,
# 'name' => 'int0077: in.op=not (nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# 1,
# 2
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:int) int0077: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:int) int0077: in.op=not (nok)
# {
# 'input' => 1,
# 'name' => 'int0078: in.op=not (ok)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:int) int0078: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:not, type, type:int) int0078: in.op=not (ok)
# {
# 'input' => 1,
# 'name' => 'int0079: in& (no items)',
# 'schema' => [
# 'int',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0079: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0079: in& (no items)
# {
# 'input' => 1,
# 'name' => 'int0080: in& (ok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0080: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0080: in& (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0081: in& (nok + ok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0081: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0081: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0082: in& (ok + nok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [
# 1,
# 2
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0082: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0082: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0083: in& (nok + nok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0083: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0083: in& (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0084: in.op=and (no items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0084: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=type, type:int) int0084: in.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'int0085: in.op=and (ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0085: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:int) int0085: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0086: in.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0086: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:int) int0086: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0087: in.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0087: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:int) int0087: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0088: in.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0088: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:and, type, type:int) int0088: in.op=and (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0089: in| (no items)',
# 'schema' => [
# 'int',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0089: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0089: in| (no items)
# {
# 'input' => 1,
# 'name' => 'int0090: in| (ok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0090: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0090: in| (ok)
# {
# 'input' => 1,
# 'name' => 'int0091: in| (nok + ok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0091: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0091: in| (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0092: in| (ok + nok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [
# 1,
# 2
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0092: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0092: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0093: in| (nok + nok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0093: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0093: in| (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0094: in.op=or (no items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0094: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:int) int0094: in.op=or (no items)
# {
# 'input' => 1,
# 'name' => 'int0095: in.op=or (ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0095: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:int) int0095: in.op=or (ok)
# {
# 'input' => 1,
# 'name' => 'int0096: in.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0096: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:int) int0096: in.op=or (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0097: in.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0097: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:int) int0097: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0098: in.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0098: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:or, type, type:int) int0098: in.op=or (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0099: in.op=none (empty items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0099: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:int) int0099: in.op=none (empty items)
# {
# 'input' => 1,
# 'name' => 'int0100: in.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0100: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:int) int0100: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0101: in.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0101: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:int) int0101: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0102: in.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0102: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:int) int0102: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0103: in.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0103: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:in, op, op:none, type, type:int) int0103: in.op=none (ok + ok)
# {
# 'input' => 2,
# 'name' => 'int0104: min: 2 -3',
# 'schema' => [
# 'int',
# 'min',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:int) int0104: min: 2 -3
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:min, type, type:int) int0104: min: 2 -3
# {
# 'input' => 2,
# 'name' => 'int0105: min: 2 2',
# 'schema' => [
# 'int',
# 'min',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:int) int0105: min: 2 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:int) int0105: min: 2 2
# {
# 'input' => -3,
# 'name' => 'int0106: min: -3 2 -> fail',
# 'schema' => [
# 'int',
# 'min',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:int) int0106: min: -3 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:min, type, type:int) int0106: min: -3 2 -> fail
# {
# 'input' => 2,
# 'name' => 'int0107: xmin: 2 -3',
# 'schema' => [
# 'int',
# 'xmin',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:int) int0107: xmin: 2 -3
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:xmin, type, type:int) int0107: xmin: 2 -3
# {
# 'input' => 2,
# 'name' => 'int0108: xmin: 2 2 -> fail',
# 'schema' => [
# 'int',
# 'xmin',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:int) int0108: xmin: 2 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:int) int0108: xmin: 2 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0109: xmin: -3 2 -> fail',
# 'schema' => [
# 'int',
# 'xmin',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:int) int0109: xmin: -3 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:xmin, type, type:int) int0109: xmin: -3 2 -> fail
# {
# 'input' => 2,
# 'name' => 'int0110: max: 2 -3 -> fail',
# 'schema' => [
# 'int',
# 'max',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:int) int0110: max: 2 -3 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:max, type, type:int) int0110: max: 2 -3 -> fail
# {
# 'input' => 2,
# 'name' => 'int0111: max: 2 2',
# 'schema' => [
# 'int',
# 'max',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:int) int0111: max: 2 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:int) int0111: max: 2 2
# {
# 'input' => -3,
# 'name' => 'int0112: max: -3 2',
# 'schema' => [
# 'int',
# 'max',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:int) int0112: max: -3 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:max, type, type:int) int0112: max: -3 2
# {
# 'input' => 2,
# 'name' => 'int0113: xmax: 2 -3 -> fail',
# 'schema' => [
# 'int',
# 'xmax',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:int) int0113: xmax: 2 -3 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:xmax, type, type:int) int0113: xmax: 2 -3 -> fail
# {
# 'input' => 2,
# 'name' => 'int0114: xmax: 2 2 -> fail',
# 'schema' => [
# 'int',
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:int) int0114: xmax: 2 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:int) int0114: xmax: 2 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0115: xmax: -3 2',
# 'schema' => [
# 'int',
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:int) int0115: xmax: -3 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:xmax, type, type:int) int0115: xmax: -3 2
# {
# 'input' => 2,
# 'name' => 'int0116: between: 2 -3 & 4',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0116: between: 2 -3 & 4
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:int) int0116: between: 2 -3 & 4
# {
# 'input' => 2,
# 'name' => 'int0117: between: 2 -3 & 2',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0117: between: 2 -3 & 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:int) int0117: between: 2 -3 & 2
# {
# 'input' => 2,
# 'name' => 'int0118: between: 2 2 & 2',
# 'schema' => [
# 'int',
# 'between',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0118: between: 2 2 & 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:int) int0118: between: 2 2 & 2
# {
# 'input' => -3,
# 'name' => 'int0119: between: -3 2 & 4 -> fail',
# 'schema' => [
# 'int',
# 'between',
# [
# 2,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:int) int0119: between: -3 2 & 4 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:between, type, type:int) int0119: between: -3 2 & 4 -> fail
# {
# 'input' => '2',
# 'name' => 'int0120: xbetween: 2 -3 & 4',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# -3,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0120: xbetween: 2 -3 & 4
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:xbetween, type, type:int) int0120: xbetween: 2 -3 & 4
# {
# 'input' => '2',
# 'name' => 'int0121: xbetween: 2 -3 & 2 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# -3,
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0121: xbetween: 2 -3 & 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:int) int0121: xbetween: 2 -3 & 2 -> fail
# {
# 'input' => '2',
# 'name' => 'int0122: xbetween: 2 2 & 2 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# '2',
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0122: xbetween: 2 2 & 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:int) int0122: xbetween: 2 2 & 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0123: xbetween: -3 2 & 4 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# '2',
# '4'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0123: xbetween: -3 2 & 4 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:int) int0123: xbetween: -3 2 & 4 -> fail
# {
# 'input' => -3,
# 'name' => 'int0124: !between (nok)',
# 'schema' => [
# 'int',
# '!between',
# [
# -3,
# -3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) int0124: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:int) int0124: !between (nok)
# {
# 'input' => -3,
# 'name' => 'int0125: !between (ok)',
# 'schema' => [
# 'int',
# '!between',
# [
# '2',
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) int0125: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:int) int0125: !between (ok)
# {
# 'input' => -3,
# 'name' => 'int0126: between.op=not (nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# -3
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:int) int0126: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:int) int0126: between.op=not (nok)
# {
# 'input' => -3,
# 'name' => 'int0127: between.op=not (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# '2',
# '2'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:int) int0127: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:int) int0127: between.op=not (ok)
# {
# 'input' => -3,
# 'name' => 'int0128: between& (no items)',
# 'schema' => [
# 'int',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0128: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0128: between& (no items)
# {
# 'input' => -3,
# 'name' => 'int0129: between& (ok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0129: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0129: between& (ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0130: between& (nok + ok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0130: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0130: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0131: between& (ok + nok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0131: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0131: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0132: between& (nok + nok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0132: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0132: between& (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0133: between.op=and (no items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0133: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=type, type:int) int0133: between.op=and (no items)
# {
# 'input' => -3,
# 'name' => 'int0134: between.op=and (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0134: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:int) int0134: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0135: between.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0135: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:int) int0135: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0136: between.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0136: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:int) int0136: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0137: between.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0137: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:int) int0137: between.op=and (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0138: between| (no items)',
# 'schema' => [
# 'int',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0138: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0138: between| (no items)
# {
# 'input' => -3,
# 'name' => 'int0139: between| (ok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0139: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0139: between| (ok)
# {
# 'input' => -3,
# 'name' => 'int0140: between| (nok + ok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0140: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0140: between| (nok + ok)
# {
# 'input' => -3,
# 'name' => 'int0141: between| (ok + nok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0141: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0141: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0142: between| (nok + nok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0142: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0142: between| (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0143: between.op=or (no items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0143: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:int) int0143: between.op=or (no items)
# {
# 'input' => -3,
# 'name' => 'int0144: between.op=or (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0144: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:int) int0144: between.op=or (ok)
# {
# 'input' => -3,
# 'name' => 'int0145: between.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0145: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:int) int0145: between.op=or (nok + ok)
# {
# 'input' => -3,
# 'name' => 'int0146: between.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0146: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:int) int0146: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0147: between.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0147: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:int) int0147: between.op=or (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0148: between.op=none (empty items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0148: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:int) int0148: between.op=none (empty items)
# {
# 'input' => -3,
# 'name' => 'int0149: between.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0149: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:int) int0149: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0150: between.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0150: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:int) int0150: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0151: between.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0151: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:int) int0151: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0152: between.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0152: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:int) int0152: between.op=none (ok + ok)
# {
# 'input' => 10,
# 'name' => 'int0153: mod: (nok)',
# 'schema' => [
# 'int',
# 'mod',
# [
# 3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:mod'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:mod, type, type:int) int0153: mod: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:mod, type, type:int) int0153: mod: (nok)
# {
# 'input' => 11,
# 'name' => 'int0154: mod: (ok)',
# 'schema' => [
# 'int',
# 'mod',
# [
# 3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:mod'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:mod, type, type:int) int0154: mod: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:mod, type, type:int) int0154: mod: (ok)
# {
# 'input' => 7,
# 'name' => 'int0155: div_by: (nok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:div_by'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:div_by, type, type:int) int0155: div_by: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:div_by, type, type:int) int0155: div_by: (nok)
# {
# 'input' => 6,
# 'name' => 'int0156: div_by: (ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:div_by'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:div_by, type, type:int) int0156: div_by: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:div_by, type, type:int) int0156: div_by: (ok)
ok 157
1..157
ok 11 - 10-type-int.json
# Subtest: 10-type-num.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => '-1.1',
# 'name' => 'num0001: type check: must accept -1.1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0001: type check: must accept -1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:num) num0001: type check: must accept -1.1
# {
# 'input' => -1,
# 'name' => 'num0002: type check: must accept -1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0002: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:num) num0002: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'num0003: type check: must accept 0',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0003: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:num) num0003: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'num0004: type check: must accept 1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0004: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:num) num0004: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'num0005: type check: must accept 1.1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0005: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:num) num0005: type check: must accept 1.1
# {
# 'input' => 'a',
# 'name' => 'num0006: type check: must reject a',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0006: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:num) num0006: type check: must reject a
# {
# 'input' => [],
# 'name' => 'num0007: type check: must reject []',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0007: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:num) num0007: type check: must reject []
# {
# 'input' => {},
# 'name' => 'num0008: type check: must reject {}',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0008: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=type, type:num) num0008: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'num0009: must accept undefined value',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0009: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=type, type:num) num0009: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'num0010: defhash_v',
# 'schema' => [
# 'num',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:num) num0010: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:defhash_v, type, type:num) num0010: defhash_v
# {
# 'input' => undef,
# 'name' => 'num0011: v',
# 'schema' => [
# 'num',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:num) num0011: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:v, type, type:num) num0011: v
# {
# 'input' => undef,
# 'name' => 'num0012: c',
# 'schema' => [
# 'num',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:num) num0012: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:c, type, type:num) num0012: c
# {
# 'input' => undef,
# 'name' => 'num0013: default_lang',
# 'schema' => [
# 'num',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:num) num0013: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:default_lang, type, type:num) num0013: default_lang
# {
# 'input' => undef,
# 'name' => 'num0014: name',
# 'schema' => [
# 'num',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:num) num0014: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:name, type, type:num) num0014: name
# {
# 'input' => undef,
# 'name' => 'num0015: summary',
# 'schema' => [
# 'num',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:num) num0015: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:summary, type, type:num) num0015: summary
# {
# 'input' => undef,
# 'name' => 'num0016: description',
# 'schema' => [
# 'num',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:num) num0016: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:description, type, type:num) num0016: description
# {
# 'input' => undef,
# 'name' => 'num0017: tags',
# 'schema' => [
# 'num',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:num) num0017: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:tags, type, type:num) num0017: tags
# {
# 'input' => undef,
# 'name' => 'num0018: req=0 must accept undefined value',
# 'schema' => [
# 'num',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:num) num0018: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:req, type, type:num) num0018: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'num0019: req=1 must reject undefined value',
# 'schema' => [
# 'num',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:num) num0019: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:req, type, type:num) num0019: req=1 must reject undefined value
# {
# 'input' => '1.1',
# 'name' => 'num0020: forbidden=0 must accept defined value',
# 'schema' => [
# 'num',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:num) num0020: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:forbidden, type, type:num) num0020: forbidden=0 must accept defined value
# {
# 'input' => '1.1',
# 'name' => 'num0021: forbidden=1 must reject defined value',
# 'schema' => [
# 'num',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:num) num0021: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:forbidden, type, type:num) num0021: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'num0022: default: must accept valid default 1.1',
# 'schema' => [
# 'num*',
# 'default',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:num) num0022: default: must accept valid default 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 22 - (tags=clause:default, type, type:num) num0022: default: must accept valid default 1.1
# {
# 'input' => undef,
# 'name' => 'num0023: default: must reject invalid default []',
# 'schema' => [
# 'num*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:num) num0023: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:default, type, type:num) num0023: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0024: clause (dies, unknown clause)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:num) num0024: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 24 - (tags=clause:clause, type, type:num) num0024: clause (dies, unknown clause)
# {
# 'input' => '1.1',
# 'name' => 'num0025: clause (ok)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:num) num0025: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:num) num0025: clause (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0026: clause (ok) + clause nok = nok',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:num) num0026: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 26 - (tags=clause:clause, type, type:num) num0026: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0027: clause (nok)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:num) num0027: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 27 - (tags=clause:clause, type, type:num) num0027: clause (nok)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0028: clset (dies, unknown clause)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:num) num0028: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:num) num0028: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0029: clset (dies, unknown attr)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:num) num0029: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 29 - (tags=clause:clset, type, type:num) num0029: clset (dies, unknown attr)
# {
# 'input' => '1.1',
# 'name' => 'num0030: clset (empty = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0030: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=type, type:num) num0030: clset (empty = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0031: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:num) num0031: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:num) num0031: clset (ignored clause/attr = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0032: clset (ok + ok = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:num) num0032: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:num) num0032: clset (ok + ok = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0033: clset (ok) + clause nok = nok',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'min' => 1
# },
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0033: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:num) num0033: clset (ok) + clause nok = nok
# {
# 'input' => '1.1',
# 'name' => 'num0034: clset (ok + nok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0034: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:num) num0034: clset (ok + nok = nok)
# {
# 'input' => '1.1',
# 'name' => 'num0035: clset (nok + ok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0035: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:clset, type, type:num) num0035: clset (nok + ok = nok)
# {
# 'input' => '1.1',
# 'name' => 'num0036: clset (nok + nok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0036: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:clset, type, type:num) num0036: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'num0037: ok',
# 'schema' => [
# 'num',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:num) num0037: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=clause:ok, type, type:num) num0037: ok
# {
# 'input' => undef,
# 'name' => 'num0038: ok + op not (nok)',
# 'schema' => [
# 'num',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:num) num0038: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=clause:ok, op, op:not, type, type:num) num0038: ok + op not (nok)
# {
# 'input' => '0.1',
# 'name' => 'num0039: .err_level=error (clause=min, ok)',
# 'schema' => [
# 'num',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0039: .err_level=error (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:num) num0039: .err_level=error (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'num0040: .err_level=error (clause=min, nok)',
# 'schema' => [
# 'num',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0040: .err_level=error (clause=min, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:num) num0040: .err_level=error (clause=min, nok)
# {
# 'input' => '0.1',
# 'name' => 'num0041: .err_level=warn (clause=min, ok)',
# 'schema' => [
# 'num',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0041: .err_level=warn (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:num) num0041: .err_level=warn (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'num0042: .err_level=warn (clause=min, nok)',
# 'schema' => [
# 'num*',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0042: .err_level=warn (clause=min, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=attr, attr:err_level, type, type:num) num0042: .err_level=warn (clause=min, nok)
# {
# 'input' => '1.1',
# 'name' => 'num0043: is: must accept same value',
# 'schema' => [
# 'num',
# 'is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:num) num0043: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, type, type:num) num0043: is: must accept same value
# {
# 'input' => '1.1',
# 'name' => 'num0044: is: must reject different value',
# 'schema' => [
# 'num',
# 'is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:num) num0044: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, type, type:num) num0044: is: must reject different value
# {
# 'input' => '1.1',
# 'name' => 'num0045: !is (nok)',
# 'schema' => [
# 'num',
# '!is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) num0045: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, opshortcut, type, type:num) num0045: !is (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0046: !is (ok)',
# 'schema' => [
# 'num',
# '!is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) num0046: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:num) num0046: !is (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0047: is.op=not (nok)',
# 'schema' => [
# 'num',
# 'is',
# '1.1',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:num) num0047: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:not, type, type:num) num0047: is.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0048: is.op=not (ok)',
# 'schema' => [
# 'num',
# 'is',
# '1.2',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:num) num0048: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:not, type, type:num) num0048: is.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0049: is& (no items)',
# 'schema' => [
# 'num',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0049: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0049: is& (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0050: is& (ok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0050: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0050: is& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0051: is& (nok + ok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0051: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0051: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0052: is& (ok + nok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0052: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0052: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0053: is& (nok + nok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0053: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0053: is& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0054: is.op=and (no items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0054: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=type, type:num) num0054: is.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0055: is.op=and (ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0055: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:num) num0055: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0056: is.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0056: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:num) num0056: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0057: is.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0057: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:and, type, type:num) num0057: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0058: is.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0058: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:and, type, type:num) num0058: is.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0059: is| (no items)',
# 'schema' => [
# 'num',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0059: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0059: is| (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0060: is| (ok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0060: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0060: is| (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0061: is| (nok + ok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0061: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0061: is| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0062: is| (ok + nok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0062: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0062: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0063: is| (nok + nok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0063: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0063: is| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0064: is.op=or (no items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0064: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:num) num0064: is.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0065: is.op=or (ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0065: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:num) num0065: is.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0066: is.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0066: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:num) num0066: is.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0067: is.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0067: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:or, type, type:num) num0067: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0068: is.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0068: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:or, type, type:num) num0068: is.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0069: is.op=none (empty items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0069: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:num) num0069: is.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'num0070: is.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0070: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:num) num0070: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0071: is.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0071: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:num) num0071: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0072: is.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0072: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:is, op, op:none, type, type:num) num0072: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0073: is.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0073: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:is, op, op:none, type, type:num) num0073: is.op=none (ok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0074: in: must accept valid choices',
# 'schema' => [
# 'num',
# 'in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:num) num0074: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, type, type:num) num0074: in: must accept valid choices
# {
# 'input' => '1.1',
# 'name' => 'num0075: in: must reject empty choices',
# 'schema' => [
# 'num',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:num) num0075: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, type, type:num) num0075: in: must reject empty choices
# {
# 'input' => '1.1',
# 'name' => 'num0076: !in (nok)',
# 'schema' => [
# 'num',
# '!in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) num0076: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, opshortcut, type, type:num) num0076: !in (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0077: !in (ok)',
# 'schema' => [
# 'num',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) num0077: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:num) num0077: !in (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0078: in.op=not (nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# '1.1',
# '1.2'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:num) num0078: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:not, type, type:num) num0078: in.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0079: in.op=not (ok)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:num) num0079: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:not, type, type:num) num0079: in.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0080: in& (no items)',
# 'schema' => [
# 'num',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0080: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0080: in& (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0081: in& (ok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0081: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0081: in& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0082: in& (nok + ok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0082: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0082: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0083: in& (ok + nok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0083: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0083: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0084: in& (nok + nok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0084: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0084: in& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0085: in.op=and (no items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0085: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=type, type:num) num0085: in.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0086: in.op=and (ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0086: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:num) num0086: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0087: in.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0087: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:num) num0087: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0088: in.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0088: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:and, type, type:num) num0088: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0089: in.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0089: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:and, type, type:num) num0089: in.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0090: in| (no items)',
# 'schema' => [
# 'num',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0090: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0090: in| (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0091: in| (ok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0091: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0091: in| (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0092: in| (nok + ok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0092: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0092: in| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0093: in| (ok + nok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0093: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0093: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0094: in| (nok + nok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0094: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0094: in| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0095: in.op=or (no items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0095: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:num) num0095: in.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0096: in.op=or (ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0096: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:num) num0096: in.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0097: in.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0097: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:num) num0097: in.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0098: in.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0098: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:or, type, type:num) num0098: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0099: in.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0099: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:or, type, type:num) num0099: in.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0100: in.op=none (empty items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0100: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:num) num0100: in.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'num0101: in.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0101: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:num) num0101: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0102: in.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0102: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:num) num0102: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0103: in.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0103: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:in, op, op:none, type, type:num) num0103: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0104: in.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0104: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:in, op, op:none, type, type:num) num0104: in.op=none (ok + ok)
# {
# 'input' => '2.1',
# 'name' => 'num0105: min: 2.1 -3.1',
# 'schema' => [
# 'num',
# 'min',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:num) num0105: min: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:num) num0105: min: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'num0106: min: 2.1 2.1',
# 'schema' => [
# 'num',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:num) num0106: min: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:min, type, type:num) num0106: min: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0107: min: -3.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:num) num0107: min: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:min, type, type:num) num0107: min: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0108: xmin: 2.1 -3.1',
# 'schema' => [
# 'num',
# 'xmin',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:num) num0108: xmin: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:num) num0108: xmin: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'num0109: xmin: 2.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:num) num0109: xmin: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:xmin, type, type:num) num0109: xmin: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0110: xmin: -3.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:num) num0110: xmin: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:xmin, type, type:num) num0110: xmin: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0111: max: 2.1 -3.1 -> fail',
# 'schema' => [
# 'num',
# 'max',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:num) num0111: max: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:num) num0111: max: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0112: max: 2.1 2.1',
# 'schema' => [
# 'num',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:num) num0112: max: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:max, type, type:num) num0112: max: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0113: max: -3.1 2.1',
# 'schema' => [
# 'num',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:num) num0113: max: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:max, type, type:num) num0113: max: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0114: xmax: 2.1 -3.1 -> fail',
# 'schema' => [
# 'num',
# 'xmax',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:num) num0114: xmax: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:num) num0114: xmax: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0115: xmax: 2.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:num) num0115: xmax: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:xmax, type, type:num) num0115: xmax: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0116: xmax: -3.1 2.1',
# 'schema' => [
# 'num',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:num) num0116: xmax: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:xmax, type, type:num) num0116: xmax: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0117: between: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0117: between: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:num) num0117: between: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'num0118: between: 2.1 -3.1 & 2.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0118: between: 2.1 -3.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:num) num0118: between: 2.1 -3.1 & 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0119: between: 2.1 2.1 & 2.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0119: between: 2.1 2.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:between, type, type:num) num0119: between: 2.1 2.1 & 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0120: between: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:num) num0120: between: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:between, type, type:num) num0120: between: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0121: xbetween: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0121: xbetween: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:num) num0121: xbetween: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'num0122: xbetween: 2.1 -3.1 & 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0122: xbetween: 2.1 -3.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:num) num0122: xbetween: 2.1 -3.1 & 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0123: xbetween: 2.1 2.1 & 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0123: xbetween: 2.1 2.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:num) num0123: xbetween: 2.1 2.1 & 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0124: xbetween: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0124: xbetween: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:xbetween, type, type:num) num0124: xbetween: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0125: !between (nok)',
# 'schema' => [
# 'num',
# '!between',
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) num0125: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:num) num0125: !between (nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0126: !between (ok)',
# 'schema' => [
# 'num',
# '!between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) num0126: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:num) num0126: !between (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0127: between.op=not (nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '-3.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:num) num0127: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:num) num0127: between.op=not (nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0128: between.op=not (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '2.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:num) num0128: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:not, type, type:num) num0128: between.op=not (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0129: between& (no items)',
# 'schema' => [
# 'num',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0129: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0129: between& (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0130: between& (ok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0130: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0130: between& (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0131: between& (nok + ok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0131: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0131: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0132: between& (ok + nok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0132: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0132: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0133: between& (nok + nok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0133: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0133: between& (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0134: between.op=and (no items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0134: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=type, type:num) num0134: between.op=and (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0135: between.op=and (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0135: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:num) num0135: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0136: between.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0136: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:num) num0136: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0137: between.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0137: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:num) num0137: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0138: between.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0138: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:and, type, type:num) num0138: between.op=and (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0139: between| (no items)',
# 'schema' => [
# 'num',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0139: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0139: between| (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0140: between| (ok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0140: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0140: between| (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0141: between| (nok + ok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0141: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0141: between| (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0142: between| (ok + nok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0142: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0142: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0143: between| (nok + nok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0143: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0143: between| (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0144: between.op=or (no items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0144: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:num) num0144: between.op=or (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0145: between.op=or (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0145: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:num) num0145: between.op=or (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0146: between.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0146: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:num) num0146: between.op=or (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0147: between.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0147: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:num) num0147: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0148: between.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0148: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:or, type, type:num) num0148: between.op=or (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0149: between.op=none (empty items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0149: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:num) num0149: between.op=none (empty items)
# {
# 'input' => '-3.1',
# 'name' => 'num0150: between.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0150: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:num) num0150: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0151: between.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0151: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:num) num0151: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0152: between.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0152: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:num) num0152: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0153: between.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0153: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:between, op, op:none, type, type:num) num0153: between.op=none (ok + ok)
ok 154
1..154
ok 12 - 10-type-num.json
# Subtest: 10-type-obj.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 1,
# 'name' => 'obj0001: can (nok)',
# 'schema' => [
# 'obj',
# {
# 'can' => 'foo'
# }
# ],
# 'tags' => [
# 'type',
# 'type:obj',
# 'clause:can'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:can, type, type:obj) obj0001: can (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=clause:can, type, type:obj) obj0001: can (nok)
# {
# 'input' => 1,
# 'name' => 'obj0002: isa (nok)',
# 'schema' => [
# 'obj',
# {
# 'isa' => 'foo'
# }
# ],
# 'tags' => [
# 'type',
# 'type:obj',
# 'clause:isa'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:isa, type, type:obj) obj0002: isa (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=clause:isa, type, type:obj) obj0002: isa (nok)
ok 3
1..3
ok 13 - 10-type-obj.json
# Subtest: 10-type-str.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'str0001: type check: must accept 0',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:str) str0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'str0002: type check: must accept 1.1',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:str) str0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'str0003: type check: must accept ',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 3 - (tags=type, type:str) str0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'str0004: type check: must accept str
# ',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 4 - (tags=type, type:str) str0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'str0005: type check: must reject []',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:str) str0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 5 - (tags=type, type:str) str0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'str0006: type check: must reject {}',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:str) str0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 6 - (tags=type, type:str) str0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'str0007: must accept undefined value',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 7 - (tags=type, type:str) str0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'str0008: defhash_v',
# 'schema' => [
# 'str',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:str) str0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 8 - (tags=clause:defhash_v, type, type:str) str0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'str0009: v',
# 'schema' => [
# 'str',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:str) str0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 9 - (tags=clause:v, type, type:str) str0009: v
# {
# 'input' => undef,
# 'name' => 'str0010: c',
# 'schema' => [
# 'str',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:str) str0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 10 - (tags=clause:c, type, type:str) str0010: c
# {
# 'input' => undef,
# 'name' => 'str0011: default_lang',
# 'schema' => [
# 'str',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:str) str0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 11 - (tags=clause:default_lang, type, type:str) str0011: default_lang
# {
# 'input' => undef,
# 'name' => 'str0012: name',
# 'schema' => [
# 'str',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:str) str0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 12 - (tags=clause:name, type, type:str) str0012: name
# {
# 'input' => undef,
# 'name' => 'str0013: summary',
# 'schema' => [
# 'str',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:str) str0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 13 - (tags=clause:summary, type, type:str) str0013: summary
# {
# 'input' => undef,
# 'name' => 'str0014: description',
# 'schema' => [
# 'str',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:str) str0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 14 - (tags=clause:description, type, type:str) str0014: description
# {
# 'input' => undef,
# 'name' => 'str0015: tags',
# 'schema' => [
# 'str',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:str) str0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 15 - (tags=clause:tags, type, type:str) str0015: tags
# {
# 'input' => undef,
# 'name' => 'str0016: req=0 must accept undefined value',
# 'schema' => [
# 'str',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:str) str0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 16 - (tags=clause:req, type, type:str) str0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'str0017: req=1 must reject undefined value',
# 'schema' => [
# 'str',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:str) str0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 17 - (tags=clause:req, type, type:str) str0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'str0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'str',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:str) str0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:str) str0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'str0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'str',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:str) str0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 19 - (tags=clause:forbidden, type, type:str) str0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'str0020: default: must accept valid default a',
# 'schema' => [
# 'str*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:str) str0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:default, type, type:str) str0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'str0021: default: must reject invalid default []',
# 'schema' => [
# 'str*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:str) str0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:str) str0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0022: clause (dies, unknown clause)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:str) str0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:str) str0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'str0023: clause (ok)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:str) str0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 23 - (tags=clause:clause, type, type:str) str0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'str0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:str) str0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 24 - (tags=clause:clause, type, type:str) str0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0025: clause (nok)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:str) str0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:str) str0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0026: clset (dies, unknown clause)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:str) str0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:str) str0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0027: clset (dies, unknown attr)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:str) str0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:str) str0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'str0028: clset (empty = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 28 - (tags=type, type:str) str0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'str0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:str) str0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 29 - (tags=clause:clset, type, type:str) str0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'str0030: clset (ok + ok = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:str) str0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 30 - (tags=clause:clset, type, type:str) str0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'str0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 31 - (tags=clause:clset, type, type:str) str0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'str0032: clset (ok + nok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 32 - (tags=clause:clset, type, type:str) str0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'str0033: clset (nok + ok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 33 - (tags=clause:clset, type, type:str) str0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'str0034: clset (nok + nok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 34 - (tags=clause:clset, type, type:str) str0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'str0035: ok',
# 'schema' => [
# 'str',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:str) str0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 35 - (tags=clause:ok, type, type:str) str0035: ok
# {
# 'input' => undef,
# 'name' => 'str0036: ok + op not (nok)',
# 'schema' => [
# 'str',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:str) str0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 36 - (tags=clause:ok, op, op:not, type, type:str) str0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 37 - (tags=attr, attr:err_level, type, type:str) str0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'str0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:str) str0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'str0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'str',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 39 - (tags=attr, attr:err_level, type, type:str) str0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'str0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'str*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 40 - (tags=attr, attr:err_level, type, type:str) str0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'str0041: is: must accept same value',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:str) str0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:str) str0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'str0042: is: must reject different value',
# 'schema' => [
# 'str',
# 'is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:str) str0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 42 - (tags=clause:is, type, type:str) str0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'str0043: !is (nok)',
# 'schema' => [
# 'str',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) str0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 43 - (tags=clause:is, op, op:not, opshortcut, type, type:str) str0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'str0044: !is (ok)',
# 'schema' => [
# 'str',
# '!is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) str0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 44 - (tags=clause:is, op, op:not, opshortcut, type, type:str) str0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'str0045: is.op=not (nok)',
# 'schema' => [
# 'str',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:str) str0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 45 - (tags=clause:is, op, op:not, type, type:str) str0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0046: is.op=not (ok)',
# 'schema' => [
# 'str',
# 'is',
# 'b',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:str) str0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:str) str0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'str0047: is& (no items)',
# 'schema' => [
# 'str',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'str0048: is& (ok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0049: is& (nok + ok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 49 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0050: is& (ok + nok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 50 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0051: is& (nok + nok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 51 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0052: is.op=and (no items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 52 - (tags=type, type:str) str0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'str0053: is.op=and (ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 53 - (tags=clause:is, op, op:and, type, type:str) str0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0054: is.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 54 - (tags=clause:is, op, op:and, type, type:str) str0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0055: is.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:str) str0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0056: is.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 56 - (tags=clause:is, op, op:and, type, type:str) str0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0057: is| (no items)',
# 'schema' => [
# 'str',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'str0058: is| (ok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'str0059: is| (nok + ok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 59 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0060: is| (ok + nok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 60 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0061: is| (nok + nok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0062: is.op=or (no items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 62 - (tags=clause:is, op, op:or, type, type:str) str0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'str0063: is.op=or (ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 63 - (tags=clause:is, op, op:or, type, type:str) str0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'str0064: is.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 64 - (tags=clause:is, op, op:or, type, type:str) str0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0065: is.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 65 - (tags=clause:is, op, op:or, type, type:str) str0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0066: is.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 66 - (tags=clause:is, op, op:or, type, type:str) str0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0067: is.op=none (empty items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 67 - (tags=clause:is, op, op:none, type, type:str) str0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'str0068: is.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 68 - (tags=clause:is, op, op:none, type, type:str) str0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0069: is.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:str) str0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0070: is.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 70 - (tags=clause:is, op, op:none, type, type:str) str0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0071: is.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 71 - (tags=clause:is, op, op:none, type, type:str) str0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0072: in: must accept valid choices',
# 'schema' => [
# 'str',
# 'in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:str) str0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:str) str0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'str0073: in: must reject empty choices',
# 'schema' => [
# 'str',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:str) str0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 73 - (tags=clause:in, type, type:str) str0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'str0074: !in (nok)',
# 'schema' => [
# 'str',
# '!in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) str0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 74 - (tags=clause:in, op, op:not, opshortcut, type, type:str) str0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'str0075: !in (ok)',
# 'schema' => [
# 'str',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) str0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 75 - (tags=clause:in, op, op:not, opshortcut, type, type:str) str0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'str0076: in.op=not (nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# 'a',
# 'b'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:str) str0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 76 - (tags=clause:in, op, op:not, type, type:str) str0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0077: in.op=not (ok)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:str) str0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:str) str0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'str0078: in& (no items)',
# 'schema' => [
# 'str',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'str0079: in& (ok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0080: in& (nok + ok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0081: in& (ok + nok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0082: in& (nok + nok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 82 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0083: in.op=and (no items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 83 - (tags=type, type:str) str0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'str0084: in.op=and (ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 84 - (tags=clause:in, op, op:and, type, type:str) str0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0085: in.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 85 - (tags=clause:in, op, op:and, type, type:str) str0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0086: in.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:str) str0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0087: in.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 87 - (tags=clause:in, op, op:and, type, type:str) str0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0088: in| (no items)',
# 'schema' => [
# 'str',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'str0089: in| (ok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'str0090: in| (nok + ok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 90 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0091: in| (ok + nok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 91 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0092: in| (nok + nok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0093: in.op=or (no items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 93 - (tags=clause:in, op, op:or, type, type:str) str0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'str0094: in.op=or (ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 94 - (tags=clause:in, op, op:or, type, type:str) str0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'str0095: in.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 95 - (tags=clause:in, op, op:or, type, type:str) str0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0096: in.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 96 - (tags=clause:in, op, op:or, type, type:str) str0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0097: in.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 97 - (tags=clause:in, op, op:or, type, type:str) str0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0098: in.op=none (empty items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 98 - (tags=clause:in, op, op:none, type, type:str) str0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'str0099: in.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 99 - (tags=clause:in, op, op:none, type, type:str) str0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0100: in.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 100 - (tags=clause:in, op, op:none, type, type:str) str0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0101: in.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 101 - (tags=clause:in, op, op:none, type, type:str) str0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0102: in.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 102 - (tags=clause:in, op, op:none, type, type:str) str0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0103: min: a ',
# 'schema' => [
# 'str',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:str) str0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 103 - (tags=clause:min, type, type:str) str0103: min: a
# {
# 'input' => 'a',
# 'name' => 'str0104: min: a a',
# 'schema' => [
# 'str',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:str) str0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 104 - (tags=clause:min, type, type:str) str0104: min: a a
# {
# 'input' => '',
# 'name' => 'str0105: min: a -> fail',
# 'schema' => [
# 'str',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:str) str0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 105 - (tags=clause:min, type, type:str) str0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0106: xmin: a ',
# 'schema' => [
# 'str',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:str) str0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 106 - (tags=clause:xmin, type, type:str) str0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'str0107: xmin: a a -> fail',
# 'schema' => [
# 'str',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:str) str0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 107 - (tags=clause:xmin, type, type:str) str0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'str0108: xmin: a -> fail',
# 'schema' => [
# 'str',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:str) str0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 108 - (tags=clause:xmin, type, type:str) str0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0109: max: a -> fail',
# 'schema' => [
# 'str',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:str) str0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 109 - (tags=clause:max, type, type:str) str0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0110: max: a a',
# 'schema' => [
# 'str',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:str) str0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 110 - (tags=clause:max, type, type:str) str0110: max: a a
# {
# 'input' => '',
# 'name' => 'str0111: max: a',
# 'schema' => [
# 'str',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:str) str0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 111 - (tags=clause:max, type, type:str) str0111: max: a
# {
# 'input' => 'a',
# 'name' => 'str0112: xmax: a -> fail',
# 'schema' => [
# 'str',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:str) str0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 112 - (tags=clause:xmax, type, type:str) str0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0113: xmax: a a -> fail',
# 'schema' => [
# 'str',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:str) str0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 113 - (tags=clause:xmax, type, type:str) str0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'str0114: xmax: a',
# 'schema' => [
# 'str',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:str) str0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:str) str0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'str0115: between: a & ab',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0115: between: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 115 - (tags=clause:between, type, type:str) str0115: between: a & ab
# {
# 'input' => 'a',
# 'name' => 'str0116: between: a & a',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:str) str0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'str0117: between: a a & a',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:between, type, type:str) str0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'str0118: between: a & ab -> fail',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:str) str0118: between: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:str) str0118: between: a & ab -> fail
# {
# 'input' => 'a',
# 'name' => 'str0119: xbetween: a & ab',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0119: xbetween: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:xbetween, type, type:str) str0119: xbetween: a & ab
# {
# 'input' => 'a',
# 'name' => 'str0120: xbetween: a & a -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:xbetween, type, type:str) str0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:str) str0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'str0122: xbetween: a & ab -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0122: xbetween: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:xbetween, type, type:str) str0122: xbetween: a & ab -> fail
# {
# 'input' => '',
# 'name' => 'str0123: !between (nok)',
# 'schema' => [
# 'str',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) str0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:str) str0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'str0124: !between (ok)',
# 'schema' => [
# 'str',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) str0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:str) str0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'str0125: between.op=not (nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:str) str0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:str) str0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'str0126: between.op=not (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:str) str0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:str) str0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'str0127: between& (no items)',
# 'schema' => [
# 'str',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'str0128: between& (ok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 128 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0129: between& (nok + ok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0130: between& (ok + nok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0131: between& (nok + nok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 131 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0132: between.op=and (no items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:str) str0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'str0133: between.op=and (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:str) str0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0134: between.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:str) str0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0135: between.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:str) str0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0136: between.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:str) str0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0137: between| (no items)',
# 'schema' => [
# 'str',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'str0138: between| (ok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'str0139: between| (nok + ok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'str0140: between| (ok + nok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0141: between| (nok + nok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0142: between.op=or (no items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:str) str0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'str0143: between.op=or (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:str) str0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'str0144: between.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:str) str0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'str0145: between.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:str) str0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0146: between.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:str) str0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0147: between.op=none (empty items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:str) str0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'str0148: between.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:str) str0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0149: between.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:str) str0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0150: between.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:str) str0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0151: between.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:str) str0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0152: len (ok)',
# 'schema' => [
# 'str',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:str) str0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:str) str0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'str0153: len (nok)',
# 'schema' => [
# 'str',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:str) str0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:str) str0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0154: min_len (ok)',
# 'schema' => [
# 'str',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:str) str0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:str) str0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'str0155: min_len (nok)',
# 'schema' => [
# 'str',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:str) str0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:str) str0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0156: max_len (ok)',
# 'schema' => [
# 'str',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:str) str0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:str) str0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0157: max_len (nok)',
# 'schema' => [
# 'str',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:str) str0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:str) str0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0158: len_between (ok)',
# 'schema' => [
# 'str',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:str) str0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:str) str0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0159: len_between (nok)',
# 'schema' => [
# 'str',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:str) str0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:str) str0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'str0160: each_index (ok)',
# 'schema' => [
# 'str',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:str) str0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:str) str0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0161: each_index (nok)',
# 'schema' => [
# 'str',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:str) str0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:str) str0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'str0162: each_elem (ok)',
# 'schema' => [
# 'str',
# 'each_elem',
# 'str'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:str) str0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:str) str0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0163: each_elem (nok)',
# 'schema' => [
# 'str',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:str) str0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:str) str0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0170: has',
# 'schema' => [
# 'str',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:str) str0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 164 - (tags=clause:has, type, type:str) str0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'ac'
# ],
# 'name' => 'str0171: has + op.not',
# 'schema' => [
# 'str',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'A',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:str) str0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - validator (rt=full) returns hash
1..7
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:str) str0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0172: has + op.or',
# 'schema' => [
# 'str',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:str) str0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:str) str0172: has + op.or
# {
# 'invalid_inputs' => [
# 'ac',
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0173: has + op.and',
# 'schema' => [
# 'str',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:str) str0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - invalid input [3]
ok 7 - validator (rt=full) returns hash
1..7
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:str) str0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'str0177: encoding: (ok)',
# 'schema' => [
# 'str',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:str) str0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:str) str0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'str',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:str) str0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:str) str0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'a',
# 'name' => 'str0179: match: (ok)',
# 'schema' => [
# 'str',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:str) str0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:str) str0179: match: (ok)
# {
# 'input' => 'A',
# 'name' => 'str0180: match: (nok)',
# 'schema' => [
# 'str',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:str) str0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:str) str0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0181: match: (dies, invalid regex)',
# 'schema' => [
# 'str',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:str) str0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:str) str0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'str0182: is_re: 1 (ok)',
# 'schema' => [
# 'str',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:str) str0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:str) str0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'str0183: is_re: 1 (nok)',
# 'schema' => [
# 'str',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:str) str0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:str) str0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'str0184: is_re: 0 (ok)',
# 'schema' => [
# 'str',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:str) str0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:str) str0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'str0185: is_re: 0 (nok)',
# 'schema' => [
# 'str',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:str) str0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:str) str0185: is_re: 0 (nok)
ok 177
1..177
ok 14 - 10-type-str.json
# Subtest: 10-type-undef.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => undef,
# 'name' => 'undef0001: ok',
# 'schema' => [
# 'undef'
# ],
# 'tags' => [
# 'type',
# 'type:undef'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:undef) undef0001: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 1 - (tags=type, type:undef) undef0001: ok
# {
# 'input' => 0,
# 'name' => 'undef0002: nok',
# 'schema' => [
# 'undef'
# ],
# 'tags' => [
# 'type',
# 'type:undef'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:undef) undef0002: nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 2 - (tags=type, type:undef) undef0002: nok
ok 3
1..3
ok 15 - 10-type-undef.json
1..15
ok
t/util-type-date.t .......
# Subtest: coerce_date (Time::Moment)
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
1..11
ok 1 - coerce_date (Time::Moment)
# Subtest: coerce_date (DateTime)
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
1..11
ok 2 - coerce_date (DateTime)
# Subtest: coerce_date (Time::Piece)
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
1..11
ok 3 - coerce_date (Time::Piece)
1..3
ok
All tests successful.
Files=22, Tests=196, 45 wallclock secs ( 2.25 usr + 0.09 sys = 2.34 CPU)
Result: PASS
PERLANCAR/Data-Sah-0.76.tar.gz
dmake test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Fast and featureful data structure validation
>>> (cd C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7 && tar cvf - Data-Sah-0.76.ppd blib) | gzip -c >C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR/Data-Sah-0.76.tar.gz
Data-Sah-0.76.ppd
blib/
blib/lib/
blib/lib/Data/
blib/lib/Data/Sah/
blib/lib/Data/Sah/Compiler/
blib/lib/Data/Sah/Compiler/human/
blib/lib/Data/Sah/Compiler/human/TH/
blib/lib/Data/Sah/Compiler/human/TH/all.pm
blib/lib/Data/Sah/Compiler/human/TH/any.pm
blib/lib/Data/Sah/Compiler/human/TH/array.pm
blib/lib/Data/Sah/Compiler/human/TH/bool.pm
blib/lib/Data/Sah/Compiler/human/TH/buf.pm
blib/lib/Data/Sah/Compiler/human/TH/cistr.pm
blib/lib/Data/Sah/Compiler/human/TH/code.pm
blib/lib/Data/Sah/Compiler/human/TH/Comparable.pm
blib/lib/Data/Sah/Compiler/human/TH/date.pm
blib/lib/Data/Sah/Compiler/human/TH/duration.pm
blib/lib/Data/Sah/Compiler/human/TH/float.pm
blib/lib/Data/Sah/Compiler/human/TH/HasElems.pm
blib/lib/Data/Sah/Compiler/human/TH/hash.pm
blib/lib/Data/Sah/Compiler/human/TH/int.pm
blib/lib/Data/Sah/Compiler/human/TH/num.pm
blib/lib/Data/Sah/Compiler/human/TH/obj.pm
blib/lib/Data/Sah/Compiler/human/TH/re.pm
blib/lib/Data/Sah/Compiler/human/TH/Sortable.pm
blib/lib/Data/Sah/Compiler/human/TH/str.pm
blib/lib/Data/Sah/Compiler/human/TH/undef.pm
blib/lib/Data/Sah/Compiler/human/TH.pm
blib/lib/Data/Sah/Compiler/human.pm
blib/lib/Data/Sah/Compiler/js/
blib/lib/Data/Sah/Compiler/js/TH/
blib/lib/Data/Sah/Compiler/js/TH/all.pm
blib/lib/Data/Sah/Compiler/js/TH/any.pm
blib/lib/Data/Sah/Compiler/js/TH/array.pm
blib/lib/Data/Sah/Compiler/js/TH/bool.pm
blib/lib/Data/Sah/Compiler/js/TH/buf.pm
blib/lib/Data/Sah/Compiler/js/TH/cistr.pm
blib/lib/Data/Sah/Compiler/js/TH/code.pm
blib/lib/Data/Sah/Compiler/js/TH/date.pm
blib/lib/Data/Sah/Compiler/js/TH/duration.pm
blib/lib/Data/Sah/Compiler/js/TH/float.pm
blib/lib/Data/Sah/Compiler/js/TH/hash.pm
blib/lib/Data/Sah/Compiler/js/TH/int.pm
blib/lib/Data/Sah/Compiler/js/TH/num.pm
blib/lib/Data/Sah/Compiler/js/TH/obj.pm
blib/lib/Data/Sah/Compiler/js/TH/re.pm
blib/lib/Data/Sah/Compiler/js/TH/str.pm
blib/lib/Data/Sah/Compiler/js/TH/undef.pm
blib/lib/Data/Sah/Compiler/js/TH.pm
blib/lib/Data/Sah/Compiler/js.pm
blib/lib/Data/Sah/Compiler/perl/
blib/lib/Data/Sah/Compiler/perl/TH/
blib/lib/Data/Sah/Compiler/perl/TH/all.pm
blib/lib/Data/Sah/Compiler/perl/TH/any.pm
blib/lib/Data/Sah/Compiler/perl/TH/array.pm
blib/lib/Data/Sah/Compiler/perl/TH/bool.pm
blib/lib/Data/Sah/Compiler/perl/TH/buf.pm
blib/lib/Data/Sah/Compiler/perl/TH/cistr.pm
blib/lib/Data/Sah/Compiler/perl/TH/code.pm
blib/lib/Data/Sah/Compiler/perl/TH/date.pm
blib/lib/Data/Sah/Compiler/perl/TH/duration.pm
blib/lib/Data/Sah/Compiler/perl/TH/float.pm
blib/lib/Data/Sah/Compiler/perl/TH/hash.pm
blib/lib/Data/Sah/Compiler/perl/TH/int.pm
blib/lib/Data/Sah/Compiler/perl/TH/num.pm
blib/lib/Data/Sah/Compiler/perl/TH/obj.pm
blib/lib/Data/Sah/Compiler/perl/TH/re.pm
blib/lib/Data/Sah/Compiler/perl/TH/str.pm
blib/lib/Data/Sah/Compiler/perl/TH/undef.pm
blib/lib/Data/Sah/Compiler/perl/TH.pm
blib/lib/Data/Sah/Compiler/perl.pm
blib/lib/Data/Sah/Compiler/Prog/
blib/lib/Data/Sah/Compiler/Prog/TH/
blib/lib/Data/Sah/Compiler/Prog/TH/all.pm
blib/lib/Data/Sah/Compiler/Prog/TH/any.pm
blib/lib/Data/Sah/Compiler/Prog/TH.pm
blib/lib/Data/Sah/Compiler/Prog.pm
blib/lib/Data/Sah/Compiler/TextResultRole.pm
blib/lib/Data/Sah/Compiler/TH.pm
blib/lib/Data/Sah/Compiler.pm
blib/lib/Data/Sah/Human.pm
blib/lib/Data/Sah/JS.pm
blib/lib/Data/Sah/Lang/
blib/lib/Data/Sah/Lang/fr_FR.pm
blib/lib/Data/Sah/Lang/id_ID.pm
blib/lib/Data/Sah/Lang/zh_CN.pm
blib/lib/Data/Sah/Lang.pm
blib/lib/Data/Sah/Manual/
blib/lib/Data/Sah/Manual/Contributing.pod
blib/lib/Data/Sah/Manual/Developer.pod
blib/lib/Data/Sah/Manual/Extending.pod
blib/lib/Data/Sah/Manual.pod
blib/lib/Data/Sah/Type/
blib/lib/Data/Sah/Type/all.pm
blib/lib/Data/Sah/Type/any.pm
blib/lib/Data/Sah/Type/array.pm
blib/lib/Data/Sah/Type/BaseType.pm
blib/lib/Data/Sah/Type/bool.pm
blib/lib/Data/Sah/Type/buf.pm
blib/lib/Data/Sah/Type/cistr.pm
blib/lib/Data/Sah/Type/code.pm
blib/lib/Data/Sah/Type/Comparable.pm
blib/lib/Data/Sah/Type/date.pm
blib/lib/Data/Sah/Type/duration.pm
blib/lib/Data/Sah/Type/float.pm
blib/lib/Data/Sah/Type/HasElems.pm
blib/lib/Data/Sah/Type/hash.pm
blib/lib/Data/Sah/Type/int.pm
blib/lib/Data/Sah/Type/num.pm
blib/lib/Data/Sah/Type/obj.pm
blib/lib/Data/Sah/Type/re.pm
blib/lib/Data/Sah/Type/Sortable.pm
blib/lib/Data/Sah/Type/str.pm
blib/lib/Data/Sah/Type/undef.pm
blib/lib/Data/Sah/Util/
blib/lib/Data/Sah/Util/Func.pm
blib/lib/Data/Sah/Util/Role.pm
blib/lib/Data/Sah/Util/Type/
blib/lib/Data/Sah/Util/Type/Date.pm
blib/lib/Data/Sah/Util/TypeX.pm
blib/lib/Data/Sah.pm
blib/lib/Test/
blib/lib/Test/Data/
blib/lib/Test/Data/Sah.pm
>>> mv C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/Data-Sah-0.76.ppd C:/cpanfly-5.22-32/var/REPO/P/PE/PERLANCAR
Running test for module 'Data::Sah::CoerceJS'
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been prepared
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been made
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been tested successfully
Running test for module 'Data::Sah::Coerce'
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been prepared
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been made
PERLANCAR/Data-Sah-Coerce-0.004.tar.gz
Has already been tested successfully
Running test for module 'Perinci::CmdLine::Any'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Perinci-CmdLine-Any-0.12.tar.gz ok
Perinci-CmdLine-Any-0.12/
Perinci-CmdLine-Any-0.12/README
Perinci-CmdLine-Any-0.12/lib/
Perinci-CmdLine-Any-0.12/lib/Perinci/
Perinci-CmdLine-Any-0.12/lib/Perinci/CmdLine/
Perinci-CmdLine-Any-0.12/lib/Perinci/CmdLine/Any.pm
Perinci-CmdLine-Any-0.12/Makefile.PL
Perinci-CmdLine-Any-0.12/Changes
Perinci-CmdLine-Any-0.12/dist.ini
Perinci-CmdLine-Any-0.12/LICENSE
Perinci-CmdLine-Any-0.12/t/
Perinci-CmdLine-Any-0.12/t/00-compile.t
Perinci-CmdLine-Any-0.12/t/release-pod-coverage.t
Perinci-CmdLine-Any-0.12/t/release-pod-syntax.t
Perinci-CmdLine-Any-0.12/t/release-rinci.t
Perinci-CmdLine-Any-0.12/weaver.ini
Perinci-CmdLine-Any-0.12/MANIFEST
Perinci-CmdLine-Any-0.12/META.json
Perinci-CmdLine-Any-0.12/META.yml
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Any-0.12.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Perinci::CmdLine::Lite 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Perinci::CmdLine::Any
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-CmdLine-Any-0.12.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Any-0.12.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Any-0.12.tar.gz ----
Perinci::CmdLine::Lite [requires]
Running test for module 'Perinci::CmdLine::Lite'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Perinci-CmdLine-Lite-1.54.tar.gz ok
Perinci-CmdLine-Lite-1.54/
Perinci-CmdLine-Lite-1.54/share/
Perinci-CmdLine-Lite-1.54/share/templates/
Perinci-CmdLine-Lite-1.54/share/templates/synopsis.txt
Perinci-CmdLine-Lite-1.54/share/templates/description.txt
Perinci-CmdLine-Lite-1.54/devscripts/
Perinci-CmdLine-Lite-1.54/devscripts/bench-startup
Perinci-CmdLine-Lite-1.54/META.json
Perinci-CmdLine-Lite-1.54/LICENSE
Perinci-CmdLine-Lite-1.54/Changes
Perinci-CmdLine-Lite-1.54/META.yml
Perinci-CmdLine-Lite-1.54/Makefile.PL
Perinci-CmdLine-Lite-1.54/t/
Perinci-CmdLine-Lite-1.54/t/author-pod-coverage.t
Perinci-CmdLine-Lite-1.54/t/suite.t
Perinci-CmdLine-Lite-1.54/t/release-rinci.t
Perinci-CmdLine-Lite-1.54/t/author-pod-syntax.t
Perinci-CmdLine-Lite-1.54/t/00-compile.t
Perinci-CmdLine-Lite-1.54/README
Perinci-CmdLine-Lite-1.54/dist.ini
Perinci-CmdLine-Lite-1.54/lib/
Perinci-CmdLine-Lite-1.54/lib/Perinci/
Perinci-CmdLine-Lite-1.54/lib/Perinci/CmdLine/
Perinci-CmdLine-Lite-1.54/lib/Perinci/CmdLine/Lite.pm
Perinci-CmdLine-Lite-1.54/lib/Perinci/CmdLine/Util/
Perinci-CmdLine-Lite-1.54/lib/Perinci/CmdLine/Util/Config.pm
Perinci-CmdLine-Lite-1.54/lib/Perinci/CmdLine/Base.pm
Perinci-CmdLine-Lite-1.54/MANIFEST
Perinci-CmdLine-Lite-1.54/weaver.ini
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.54.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Perinci::CmdLine::Lite
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-CmdLine-Lite-1.54.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.54.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Lite-1.54.tar.gz ----
Test::Perinci::CmdLine [build_requires]
YAML::Old [build_requires]
Running test for module 'Test::Perinci::CmdLine'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Test-Perinci-CmdLine-1.39.tar.gz ok
Test-Perinci-CmdLine-1.39/
Test-Perinci-CmdLine-1.39/README
Test-Perinci-CmdLine-1.39/lib/
Test-Perinci-CmdLine-1.39/lib/Test/
Test-Perinci-CmdLine-1.39/lib/Test/Perinci/
Test-Perinci-CmdLine-1.39/lib/Test/Perinci/CmdLine.pm
Test-Perinci-CmdLine-1.39/Makefile.PL
Test-Perinci-CmdLine-1.39/Changes
Test-Perinci-CmdLine-1.39/dist.ini
Test-Perinci-CmdLine-1.39/LICENSE
Test-Perinci-CmdLine-1.39/t/
Test-Perinci-CmdLine-1.39/t/00-compile.t
Test-Perinci-CmdLine-1.39/t/release-rinci.t
Test-Perinci-CmdLine-1.39/t/author-pod-syntax.t
Test-Perinci-CmdLine-1.39/t/author-pod-coverage.t
Test-Perinci-CmdLine-1.39/weaver.ini
Test-Perinci-CmdLine-1.39/MANIFEST
Test-Perinci-CmdLine-1.39/META.json
Test-Perinci-CmdLine-1.39/META.yml
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite IPC::System::Options 0.23 not found. We have 0.22.
Warning: prerequisite Perinci::CmdLine::Gen 0.22 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Test::Perinci::CmdLine
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz ----
IPC::System::Options [requires]
Perinci::CmdLine::Gen [requires]
Running test for module 'IPC::System::Options'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\IPC-System-Options-0.24.tar.gz ok
IPC-System-Options-0.24/
IPC-System-Options-0.24/META.json
IPC-System-Options-0.24/LICENSE
IPC-System-Options-0.24/Changes
IPC-System-Options-0.24/META.yml
IPC-System-Options-0.24/Makefile.PL
IPC-System-Options-0.24/t/
IPC-System-Options-0.24/t/release-pod-syntax.t
IPC-System-Options-0.24/t/release-pod-coverage.t
IPC-System-Options-0.24/t/00-compile.t
IPC-System-Options-0.24/README
IPC-System-Options-0.24/dist.ini
IPC-System-Options-0.24/lib/
IPC-System-Options-0.24/lib/IPC/
IPC-System-Options-0.24/lib/IPC/System/
IPC-System-Options-0.24/lib/IPC/System/Options.pm
IPC-System-Options-0.24/MANIFEST
IPC-System-Options-0.24/weaver.ini
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/IPC-System-Options-0.24.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite IPC::Run 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for IPC::System::Options
Writing MYMETA.yml and MYMETA.json
PERLANCAR/IPC-System-Options-0.24.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/IPC-System-Options-0.24.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/IPC-System-Options-0.24.tar.gz ----
IPC::Run [requires]
Running test for module 'IPC::Run'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\T\TO\TODDR\IPC-Run-0.94.tar.gz ok
IPC-Run-0.94/
IPC-Run-0.94/abuse/
IPC-Run-0.94/Changes
IPC-Run-0.94/eg/
IPC-Run-0.94/lib/
IPC-Run-0.94/LICENSE
IPC-Run-0.94/Makefile.PL
IPC-Run-0.94/MANIFEST
IPC-Run-0.94/META.json
IPC-Run-0.94/META.yml
IPC-Run-0.94/README
IPC-Run-0.94/t/
IPC-Run-0.94/TODO
IPC-Run-0.94/t/97_meta.t
IPC-Run-0.94/t/98_pod.t
IPC-Run-0.94/t/98_pod_coverage.t
IPC-Run-0.94/t/99_perl_minimum_version.t
IPC-Run-0.94/t/adopt.t
IPC-Run-0.94/t/binmode.t
IPC-Run-0.94/t/bogus.t
IPC-Run-0.94/t/filter.t
IPC-Run-0.94/t/harness.t
IPC-Run-0.94/t/io.t
IPC-Run-0.94/t/kill_kill.t
IPC-Run-0.94/t/lib/
IPC-Run-0.94/t/parallel.t
IPC-Run-0.94/t/pty.t
IPC-Run-0.94/t/pump.t
IPC-Run-0.94/t/run.t
IPC-Run-0.94/t/signal.t
IPC-Run-0.94/t/timeout.t
IPC-Run-0.94/t/timer.t
IPC-Run-0.94/t/win32_compile.t
IPC-Run-0.94/t/windows_search_path.t
IPC-Run-0.94/t/lib/Test.pm
IPC-Run-0.94/lib/IPC/
IPC-Run-0.94/lib/IPC/Run/
IPC-Run-0.94/lib/IPC/Run.pm
IPC-Run-0.94/lib/IPC/Run/Debug.pm
IPC-Run-0.94/lib/IPC/Run/IO.pm
IPC-Run-0.94/lib/IPC/Run/Timer.pm
IPC-Run-0.94/lib/IPC/Run/Win32Helper.pm
IPC-Run-0.94/lib/IPC/Run/Win32IO.pm
IPC-Run-0.94/lib/IPC/Run/Win32Pump.pm
IPC-Run-0.94/eg/factorial
IPC-Run-0.94/eg/factorial_pipe
IPC-Run-0.94/eg/factorial_scalar
IPC-Run-0.94/eg/run_daemon
IPC-Run-0.94/eg/runsh
IPC-Run-0.94/eg/runsu
IPC-Run-0.94/eg/synopsis_scripting
IPC-Run-0.94/abuse/blocking_debug_with_sub_coprocess
IPC-Run-0.94/abuse/blocking_writes
IPC-Run-0.94/abuse/broken_pipe_on_bad_executable_name
IPC-Run-0.94/abuse/timers
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring T/TO/TODDR/IPC-Run-0.94.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for IPC::Run
Writing MYMETA.yml and MYMETA.json
TODDR/IPC-Run-0.94.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for T/TO/TODDR/IPC-Run-0.94.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
>>> dmake
cp lib/IPC/Run.pm blib\lib\IPC\Run.pm
cp lib/IPC/Run/Win32IO.pm blib\lib\IPC\Run\Win32IO.pm
cp lib/IPC/Run/Win32Helper.pm blib\lib\IPC\Run\Win32Helper.pm
cp lib/IPC/Run/Win32Pump.pm blib\lib\IPC\Run\Win32Pump.pm
cp lib/IPC/Run/Debug.pm blib\lib\IPC\Run\Debug.pm
cp lib/IPC/Run/IO.pm blib\lib\IPC\Run\IO.pm
cp lib/IPC/Run/Timer.pm blib\lib\IPC\Run\Timer.pm
TODDR/IPC-Run-0.94.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/97_meta.t ..................
1..2
ok 1 - META.yml contains valid YAML
ok 2 - META.yml meets the designated specification
ok
t/98_pod.t ...................
1..7
ok 1 - POD test for blib/lib/IPC/Run.pm
ok 2 - POD test for blib/lib/IPC/Run/Debug.pm
ok 3 - POD test for blib/lib/IPC/Run/IO.pm
ok 4 - POD test for blib/lib/IPC/Run/Timer.pm
ok 5 - POD test for blib/lib/IPC/Run/Win32Helper.pm
ok 6 - POD test for blib/lib/IPC/Run/Win32IO.pm
ok 7 - POD test for blib/lib/IPC/Run/Win32Pump.pm
ok
Use of uninitialized value in subroutine entry at C:/cpanfly-5.22-32/var/megalib/Win32API/File.pm line 316.
Use of uninitialized value $stdin_fh in concatenation (.) or string at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32Pump.pm line 71.
t/98_pod_coverage.t ..........
1..7
ok 1 - Test IPC::Run that all modules are documented.
ok 2 - Test IPC::Run::Debug that all modules are documented.
ok 3 - Test IPC::Run::IO that all modules are documented.
ok 4 - Test IPC::Run::Timer that all modules are documented.
ok 5 - Test IPC::Run::Win32Helper that all modules are documented. # TODO These modules are not fully documented yet.
ok 6 - Test IPC::Run::Win32IO that all modules are documented. # TODO These modules are not fully documented yet.
not ok 7 - Test IPC::Run::Win32Pump that all modules are documented. # TODO These modules are not fully documented yet.
# Failed (TODO) test 'Test IPC::Run::Win32Pump that all modules are documented.'
# at t/98_pod_coverage.t line 42.
# IPC::Run::Win32Pump: requiring 'IPC::Run::Win32Pump' failed
ok
t/99_perl_minimum_version.t .. skipped: no minimum perl version could be determined
t/adopt.t .................... skipped: adopt not implemented yet
t/binmode.t ..................
1..24
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6 - no binary
ok 7
ok 8 - out binary
ok 9
ok 10 - out binary 0
ok 11
ok 12 - out binary 1
ok 13
ok 14 - reporter < \n
ok 15
ok 16 - reporter < binary \n
ok 17
ok 18 - reporter < binary \r\n
ok 19
ok 20 - reporter < binary(0) \n
ok 21
ok 22 - reporter < binary(1) \n
ok 23
ok 24 - reporter < binary(1) \r\n
ok
t/bogus.t ....................
1..2
ok 1 - starting ./bogus_really_bogus
ok 2 # skip Can't really exec() MSWin32
ok
t/filter.t ...................
1..80
ok 1 - filter_tests didn't pass undef (EOF) through
ok 2 - filter_tests didn't return 0 (please try again) when given a 0
ok 3 - filter_tests didn't return 0 (please try again) when given a second 0
ok 4 - filter_tests didn't return undef (EOF) after two 0s and an undef
ok 5 - filter_tests didn't consume it's input
ok 6 - filter_tests didn't return undef (EOF), tried 100 times
ok 7 - filter_tests
ok 8
ok 9 - filter_tests [] didn't pass undef (EOF) through
ok 10 - filter_tests [] didn't return 0 (please try again) when given a 0
ok 11 - filter_tests [] didn't return 0 (please try again) when given a second 0
ok 12 - filter_tests [] didn't return undef (EOF) after two 0s and an undef
ok 13 - filter_tests [] didn't consume it's input
ok 14 - filter_tests [] didn't return undef (EOF), tried 100 times
ok 15 - filter_tests []
ok 16
ok 17 - filter_tests [] 2 didn't pass undef (EOF) through
ok 18 - filter_tests [] 2 didn't return 0 (please try again) when given a 0
ok 19 - filter_tests [] 2 didn't return 0 (please try again) when given a second 0
ok 20 - filter_tests [] 2 didn't return undef (EOF) after two 0s and an undef
ok 21 - filter_tests [] 2 didn't consume it's input
ok 22 - filter_tests [] 2 didn't return undef (EOF), tried 100 times
ok 23 - filter_tests [] 2
ok 24
ok 25 - uc_filter didn't pass undef (EOF) through
ok 26 - uc_filter didn't return 0 (please try again) when given a 0
ok 27 - uc_filter didn't return 0 (please try again) when given a second 0
ok 28 - uc_filter didn't return undef (EOF) after two 0s and an undef
ok 29 - uc_filter didn't consume it's input
ok 30 - uc_filter didn't return undef (EOF), tried 100 times
ok 31 - uc_filter
ok 32
ok 33 - chunking_filter by lines 1 didn't pass undef (EOF) through
ok 34 - chunking_filter by lines 1 didn't return 0 (please try again) when given a 0
ok 35 - chunking_filter by lines 1 didn't return 0 (please try again) when given a second 0
ok 36 - chunking_filter by lines 1 didn't return undef (EOF) after two 0s and an undef
ok 37 - chunking_filter by lines 1 didn't consume it's input
ok 38 - chunking_filter by lines 1 didn't return undef (EOF), tried 100 times
ok 39 - chunking_filter by lines 1
ok 40
ok 41 - chunking_filter by lines 2 didn't pass undef (EOF) through
ok 42 - chunking_filter by lines 2 didn't return 0 (please try again) when given a 0
ok 43 - chunking_filter by lines 2 didn't return 0 (please try again) when given a second 0
ok 44 - chunking_filter by lines 2 didn't return undef (EOF) after two 0s and an undef
ok 45 - chunking_filter by lines 2 didn't consume it's input
ok 46 - chunking_filter by lines 2 didn't return undef (EOF), tried 100 times
ok 47 - chunking_filter by lines 2
ok 48
ok 49 - chunking_filter by lines 2 didn't pass undef (EOF) through
ok 50 - chunking_filter by lines 2 didn't return 0 (please try again) when given a 0
ok 51 - chunking_filter by lines 2 didn't return 0 (please try again) when given a second 0
ok 52 - chunking_filter by lines 2 didn't return undef (EOF) after two 0s and an undef
ok 53 - chunking_filter by lines 2 didn't consume it's input
ok 54 - chunking_filter by lines 2 didn't return undef (EOF), tried 100 times
ok 55 - chunking_filter by lines 2
ok 56
ok 57 - chunking_filter by an odd separator didn't pass undef (EOF) through
ok 58 - chunking_filter by an odd separator didn't return 0 (please try again) when given a 0
ok 59 - chunking_filter by an odd separator didn't return 0 (please try again) when given a second 0
ok 60 - chunking_filter by an odd separator didn't return undef (EOF) after two 0s and an undef
ok 61 - chunking_filter by an odd separator didn't consume it's input
ok 62 - chunking_filter by an odd separator didn't return undef (EOF), tried 100 times
ok 63 - chunking_filter by an odd separator
ok 64
ok 65 - chunking_filter 2 didn't pass undef (EOF) through
ok 66 - chunking_filter 2 didn't return 0 (please try again) when given a 0
ok 67 - chunking_filter 2 didn't return 0 (please try again) when given a second 0
ok 68 - chunking_filter 2 didn't return undef (EOF) after two 0s and an undef
ok 69 - chunking_filter 2 didn't consume it's input
ok 70 - chunking_filter 2 didn't return undef (EOF), tried 100 times
ok 71 - chunking_filter 2
ok 72
ok 73 - appending_filter didn't pass undef (EOF) through
ok 74 - appending_filter didn't return 0 (please try again) when given a 0
ok 75 - appending_filter didn't return 0 (please try again) when given a second 0
ok 76 - appending_filter didn't return undef (EOF) after two 0s and an undef
ok 77 - appending_filter didn't consume it's input
ok 78 - appending_filter didn't return undef (EOF), tried 100 times
ok 79 - appending_filter
ok 80
ok
t/harness.t ..................
1..120
ok 1 - ARRAY(0x34b374) b > c 2>d 2> e >>f >> g 2>>h 2>> i
ok 21 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 0, DEST
ok 22 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 0, KFD
ok 23 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 0, TRUNC
ok 24 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 0, TYPE
ok 25 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 1, DEST
ok 26 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 1, KFD
ok 27 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 1, TRUNC
ok 28 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 1, TYPE
ok 29 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 2, DEST
ok 30 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 2, KFD
ok 31 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 2, TRUNC
ok 32 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 2, TYPE
ok 33 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 3, DEST
ok 34 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 3, KFD
ok 35 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 3, TRUNC
ok 36 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 3, TYPE
ok 37 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 4, DEST
ok 38 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 4, KFD
ok 39 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 4, TRUNC
ok 40 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 4, TYPE
ok 41 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 5, DEST
ok 42 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 5, KFD
ok 43 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 5, TRUNC
ok 44 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 5, TYPE
ok 45 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 6, DEST
ok 46 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 6, KFD
ok 47 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 6, TRUNC
ok 48 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 6, TYPE
ok 49 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 7, DEST
ok 50 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 7, KFD
ok 51 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 7, TRUNC
ok 52 - ARRAY(0x34b494) >b > c 2>d 2> e >>f >> g 2>>h 2>> i: 7, TYPE
ok 53 - ARRAY(0x34b47c) >&b >& c &>d &> e
ok 54 - ARRAY(0x34b47c) >&b >& c &>d &> e: 0, DEST
ok 55 - ARRAY(0x34b47c) >&b >& c &>d &> e: 0, KFD
ok 56 - ARRAY(0x34b47c) >&b >& c &>d &> e: 0, TRUNC
ok 57 - ARRAY(0x34b47c) >&b >& c &>d &> e: 0, TYPE
ok 58 - ARRAY(0x34b47c) >&b >& c &>d &> e: 1, KFD1
ok 59 - ARRAY(0x34b47c) >&b >& c &>d &> e: 1, KFD2
ok 60 - ARRAY(0x34b47c) >&b >& c &>d &> e: 1, TYPE
ok 61 - ARRAY(0x34b47c) >&b >& c &>d &> e: 2, DEST
ok 62 - ARRAY(0x34b47c) >&b >& c &>d &> e: 2, KFD
ok 63 - ARRAY(0x34b47c) >&b >& c &>d &> e: 2, TRUNC
ok 64 - ARRAY(0x34b47c) >&b >& c &>d &> e: 2, TYPE
ok 65 - ARRAY(0x34b47c) >&b >& c &>d &> e: 3, KFD1
ok 66 - ARRAY(0x34b47c) >&b >& c &>d &> e: 3, KFD2
ok 67 - ARRAY(0x34b47c) >&b >& c &>d &> e: 3, TYPE
ok 68 - ARRAY(0x34b47c) >&b >& c &>d &> e: 4, DEST
ok 69 - ARRAY(0x34b47c) >&b >& c &>d &> e: 4, KFD
ok 70 - ARRAY(0x34b47c) >&b >& c &>d &> e: 4, TRUNC
ok 71 - ARRAY(0x34b47c) >&b >& c &>d &> e: 4, TYPE
ok 72 - ARRAY(0x34b47c) >&b >& c &>d &> e: 5, KFD1
ok 73 - ARRAY(0x34b47c) >&b >& c &>d &> e: 5, KFD2
ok 74 - ARRAY(0x34b47c) >&b >& c &>d &> e: 5, TYPE
ok 75 - ARRAY(0x34b47c) >&b >& c &>d &> e: 6, DEST
ok 76 - ARRAY(0x34b47c) >&b >& c &>d &> e: 6, KFD
ok 77 - ARRAY(0x34b47c) >&b >& c &>d &> e: 6, TRUNC
ok 78 - ARRAY(0x34b47c) >&b >& c &>d &> e: 6, TYPE
ok 79 - ARRAY(0x34b47c) >&b >& c &>d &> e: 7, KFD1
ok 80 - ARRAY(0x34b47c) >&b >& c &>d &> e: 7, KFD2
ok 81 - ARRAY(0x34b47c) >&b >& c &>d &> e: 7, TYPE
ok 82 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c)
ok 83 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 0, DEST
ok 84 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 0, FILTERS
ok 85 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 0, KFD
ok 86 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 0, TRUNC
ok 87 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 0, TYPE
ok 88 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 1, KFD1
ok 89 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 1, KFD2
ok 90 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 1, TYPE
ok 91 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 2, DEST
ok 92 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 2, FILTERS
ok 93 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 2, KFD
ok 94 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 2, TRUNC
ok 95 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 2, TYPE
ok 96 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 3, FILTERS
ok 97 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 3, KFD
ok 98 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 3, SOURCE
ok 99 - ARRAY(0x34b374) >& CODE(0x2c3ddb4) CODE(0x2c3de14) SCALAR(0x49675c) > CODE(0x2c3de74) CODE(0x2c3debc) SCALAR(0x49675c) < CODE(0x2c3df1c) CODE(0x2c3df64) SCALAR(0x49675c): 3, TYPE
ok 100 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c)
ok 101 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 0, KFD
ok 102 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 0, SOURCE
ok 103 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 0, TYPE
ok 104 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 1, DEST
ok 105 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 1, KFD
ok 106 - ARRAY(0x34b494) < SCALAR(0x49675c) > SCALAR(0x49675c): 1, TYPE
ok 107 - ARRAY(0x34b47c) pipe SCALAR(0x49675c)
ok 108 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 0, KFD
ok 109 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 0, SOURCE
ok 110 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 0, TYPE
ok 111 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 1, DEST
ok 112 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 1, KFD
ok 113 - ARRAY(0x34b47c) pipe SCALAR(0x49675c): 1, TYPE
ok 114 - ARRAY(0x34b374) SCALAR(0x49675c)
ok 115 - ARRAY(0x34b374) SCALAR(0x49675c): 0, KFD
ok 116 - ARRAY(0x34b374) SCALAR(0x49675c): 0, SOURCE
ok 117 - ARRAY(0x34b374) SCALAR(0x49675c): 0, TYPE
ok 118 - ARRAY(0x34b374) SCALAR(0x49675c): 1, DEST
ok 119 - ARRAY(0x34b374) SCALAR(0x49675c): 1, KFD
ok 120 - ARRAY(0x34b374) SCALAR(0x49675c): 1, TYPE
ok
t/io.t .......................
1..14
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6 # skip MSWin32 does not allow select() on non-sockets
ok 7 # skip MSWin32 does not allow select() on non-sockets
ok 8 # skip MSWin32 does not allow select() on non-sockets
ok 9 # skip MSWin32 does not allow select() on non-sockets
ok 10 # skip MSWin32 does not allow select() on non-sockets
ok 11 # skip MSWin32 does not allow select() on non-sockets
ok 12 # skip MSWin32 does not allow select() on non-sockets
ok 13 # skip MSWin32 does not allow select() on non-sockets
ok 14 # skip MSWin32 does not allow select() on non-sockets
ok
t/kill_kill.t ................ skipped: Temporarily ignoring test failure on Win32
t/parallel.t ................. skipped: Parallel tests are dangerous on MSWin32
t/pty.t ...................... skipped: IO::Pty not installed
Warning: unable to close filehandle GEN5 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
t/pump.t .....................
1..27
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21 - pos$out
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok
# WARN: Warning: unable to close filehandle GEN5 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN14 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN19 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN24 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN28 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN37 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN42 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN52 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN57 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN67 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# WARN: Warning: unable to close filehandle GEN72 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# Failed test 'No warnings found during program call with empty path'
# at t/run.t line 996.
# got: 'Warning: unable to close filehandle GEN5 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
# '
# expected: undef
# Looks like you failed 1 test of 268.
t/run.t ......................
1..268
ok 1
ok 2 - alt_casing_filter didn't pass undef (EOF) through
ok 3 - alt_casing_filter didn't return 0 (please try again) when given a 0
ok 4 - alt_casing_filter didn't return 0 (please try again) when given a second 0
ok 5 - alt_casing_filter didn't return undef (EOF) after two 0s and an undef
ok 6 - alt_casing_filter didn't consume it's input
ok 7 - alt_casing_filter didn't return undef (EOF), tried 100 times
ok 8 - alt_casing_filter
ok 9
ok 10
ok 11 - case_inverting_filter didn't pass undef (EOF) through
ok 12 - case_inverting_filter didn't return 0 (please try again) when given a 0
ok 13 - case_inverting_filter didn't return 0 (please try again) when given a second 0
ok 14 - case_inverting_filter didn't return undef (EOF) after two 0s and an undef
ok 15 - case_inverting_filter didn't consume it's input
ok 16 - case_inverting_filter didn't return undef (EOF), tried 100 times
ok 17 - case_inverting_filter
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23 # skip MSWin32's shell returns 0 even if last command doesn't
ok 24 # skip MSWin32's shell returns 0 even if last command doesn't
ok 25 # skip MSWin32's shell returns 0 even if last command doesn't
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34 # skip Can't spawn subroutines on MSWin32
ok 35 # skip Can't spawn subroutines on MSWin32
ok 36 # skip Can't spawn subroutines on MSWin32
ok 37 # skip Can't spawn subroutines on MSWin32
ok 38 # skip Can't spawn subroutines on MSWin32
ok 39
ok 40 # skip Can't spawn subroutines on MSWin32
ok 41 # skip Can't spawn subroutines on MSWin32
ok 42
ok 43
ok 44
ok 45
ok 46 - eok at t/run.t line 246
ok 47
ok 48
ok 49
ok 50 - eok at t/run.t line 256
ok 51
ok 52
ok 53
ok 54 - eok at t/run.t line 268
ok 55 - eok at t/run.t line 269
ok 56 - eok at t/run.t line 270
ok 57
ok 58
ok 59
ok 60 - eok at t/run.t line 285
ok 61 - eok at t/run.t line 286
ok 62 - eok at t/run.t line 287
ok 63
ok 64
ok 65
ok 66
ok 67
ok 68
ok 69
ok 70 # skip Can't spawn subroutines on MSWin32
ok 71 # skip Can't spawn subroutines on MSWin32
ok 72 # skip Can't spawn subroutines on MSWin32
ok 73 # skip Can't spawn subroutines on MSWin32
ok 74 # skip Can't spawn subroutines on MSWin32
ok 75 # skip Can't spawn subroutines on MSWin32
ok 76
ok 77
ok 78
ok 79 - eok at t/run.t line 385
ok 80 - eok at t/run.t line 386
ok 81
ok 82
ok 83
ok 84 - eok at t/run.t line 400
ok 85 - eok at t/run.t line 401
ok 86
ok 87
ok 88
ok 89 - eok at t/run.t line 419
ok 90 - eok at t/run.t line 420
ok 91
ok 92
ok 93
ok 94 - eok at t/run.t line 438
ok 95 - eok at t/run.t line 439
ok 96
ok 97
ok 98
ok 99 - eok at t/run.t line 457
ok 100 - eok at t/run.t line 458
ok 101
ok 102
ok 103
ok 104 - eok at t/run.t line 482
ok 105 - eok at t/run.t line 483
ok 106
ok 107
ok 108
ok 109 - eok at t/run.t line 501
ok 110 - eok at t/run.t line 502
ok 111
ok 112
ok 113
ok 114 - eok at t/run.t line 521
ok 115 - eok at t/run.t line 522
ok 116
ok 117
ok 118
ok 119 - eok at t/run.t line 541
ok 120 - eok at t/run.t line 542
ok 121 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 122 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 123 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 124 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 125 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 126 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 127 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 128 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 129 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 130 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 131 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 132
ok 133
ok 134
ok 135 - eok at t/run.t line 609
ok 136
ok 137
ok 138
ok 139
ok 140
ok 141
ok 142 - eok at t/run.t line 645
ok 143 - eok at t/run.t line 646
ok 144
ok 145
ok 146
ok 147 - eok at t/run.t line 665
ok 148 - eok at t/run.t line 666
ok 149
ok 150
ok 151
ok 152 - eok at t/run.t line 687
ok 153 - eok at t/run.t line 688
ok 154
ok 155
ok 156
ok 157
ok 158 - eok at t/run.t line 700
ok 159
ok 160
ok 161
ok 162
ok 163
ok 164
ok 165
ok 166
ok 167
ok 168
ok 169 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 170 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 171 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 172 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 173 # skip MSWin32 does not allow redirection of file descriptors > 2
ok 174
ok 175
ok 176
ok 177 - eok at t/run.t line 780
ok 178 - eok at t/run.t line 781
ok 179
ok 180
ok 181
ok 182
ok 183
ok 184
ok 185
ok 186
ok 187
ok 188
ok 189
ok 190
ok 191
ok 192
ok 193
ok 194
ok 195
ok 196
ok 197
ok 198
ok 199
ok 200 - eok at t/run.t line 826
ok 201 - eok at t/run.t line 827
ok 202
ok 203
ok 204
ok 205
ok 206
ok 207
ok 208 - An object of class 'IPC::Run' isa 'IPC::Run'
ok 209
ok 210 - eok at t/run.t line 860
ok 211 - eok at t/run.t line 861
ok 212 - eok at t/run.t line 862
ok 213
ok 214 - after pump_nb
ok 215 - eok at t/run.t line 869
ok 216 - eok at t/run.t line 870
ok 217 - eok at t/run.t line 871
ok 218
ok 219 - after pump
ok 220
ok 221 - eok at t/run.t line 879
ok 222 - eok at t/run.t line 880
ok 223
ok 224
ok 225
ok 226
ok 227 - eok at t/run.t line 886
ok 228 - eok at t/run.t line 887
ok 229
ok 230
ok 231 - eok at t/run.t line 903
ok 232 - eok at t/run.t line 904
ok 233 - eok at t/run.t line 905
ok 234
ok 235
ok 236
ok 237
ok 238 - eok at t/run.t line 912
ok 239 - eok at t/run.t line 913
ok 240 - eok at t/run.t line 914
ok 241
ok 242
ok 243
ok 244
ok 245 - eok at t/run.t line 923
ok 246 - eok at t/run.t line 924
ok 247 - eok at t/run.t line 925
ok 248
ok 249
ok 250
ok 251
ok 252 - eok at t/run.t line 934
ok 253 - eok at t/run.t line 935
ok 254 - eok at t/run.t line 936
ok 255
ok 256
ok 257
ok 258
ok 259 - eok at t/run.t line 957
ok 260 - eok at t/run.t line 958
ok 261
ok 262
ok 263
ok 264 - eok at t/run.t line 980
ok 265 - eok at t/run.t line 981
ok 266 - eok at t/run.t line 982
ok 267 - Error running bogus program when path is empty
not ok 268 - No warnings found during program call with empty path
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/268 subtests
(less 32 skipped subtests: 235 okay)
t/signal.t ................... skipped: Skipping on Win32
Warning: unable to close filehandle GEN5 properly: Bad file descriptor at C:\cpanfly-5.22-32\var\cpan\build\IPC-Run-0.94-PwHFsQ\blib\lib/IPC/Run/Win32IO.pm line 126.
Warning: unable to close filehandle GEN25 properly: Bad file descriptor during global destruction.
Warning: unable to close filehandle GEN15 properly: Bad file descriptor during global destruction.
t/timeout.t ..................
1..26
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26 - not too slow to reap
ok
t/timer.t ....................
1..72
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
ok 53
ok 54
ok 55
ok 56
ok 57
ok 58
ok 59
ok 60
ok 61
ok 62
ok 63
ok 64
ok 65
ok 66
ok 67
ok 68
ok 69
ok 70
ok 71
ok 72 - timer firing in run()
ok
Constant subroutine IPPROTO_TCP redefined at C:/cpanfly-5.22-32/var/megalib/Socket.pm line 4294967295.
t/win32_compile.t ............
1..1
ok 1
ok
t/windows_search_path.t ......
1..11
ok 1 - We're win32 mode?
ok 2 - No error calling _search_path for './temp'
ok 3 - Executable ./temp.EXE found
ok 4 - No error calling _search_path for '.\temp'
ok 5 - Executable .\temp.EXE found
ok 6 - No error calling _search_path for './5.11.5/temp'
ok 7 - Executable ./5.11.5/temp.EXE found
ok 8 - No error calling _search_path for './5.11.5/temp'
ok 9 - Executable ./5.11.5/temp.BAT found
ok 10 - No error calling _search_path for './5.11.5/temp'
ok 11 - Executable ./5.11.5/temp.COM found
ok
Test Summary Report
-------------------
t/98_pod_coverage.t (Wstat: 0 Tests: 7 Failed: 0)
TODO passed: 5-6
t/run.t (Wstat: 256 Tests: 268 Failed: 1)
Failed test: 268
Non-zero exit status: 1
Files=20, Tests=661, 52 wallclock secs ( 0.22 usr + 0.05 sys = 0.26 CPU)
Result: FAIL
Failed 1/20 test programs. 1/661 subtests failed.
dmake: Error code 255, while making 'test_dynamic'
TODDR/IPC-Run-0.94.tar.gz
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports TODDR/IPC-Run-0.94.tar.gz
PERLANCAR/IPC-System-Options-0.24.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\IPC-System-Options-0.24-UV3HO3
PERLANCAR/IPC-System-Options-0.24.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/IPC-System-Options-0.24.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'IPC::Run => 0' for 'PERLANCAR/IPC-System-Options-0.24.tar.gz' failed when processing 'TODDR/IPC-Run-0.94.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/IPC/System/Options.pm blib\lib\IPC\System\Options.pm
PERLANCAR/IPC-System-Options-0.24.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ............
1..1
ok 1 - IPC/System/Options.pm loaded ok
ok
t/release-pod-coverage.t .. skipped: these tests are for release candidate testing
t/release-pod-syntax.t .... skipped: these tests are for release candidate testing
All tests successful.
Files=3, Tests=1, 1 wallclock secs ( 0.08 usr + 0.05 sys = 0.13 CPU)
Result: PASS
PERLANCAR/IPC-System-Options-0.24.tar.gz
Tests succeeded but one dependency not OK (IPC::Run)
PERLANCAR/IPC-System-Options-0.24.tar.gz
[dependencies] -- NA
Running test for module 'Perinci::CmdLine::Gen'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Perinci-CmdLine-Gen-0.28.tar.gz ok
Perinci-CmdLine-Gen-0.28/
Perinci-CmdLine-Gen-0.28/META.json
Perinci-CmdLine-Gen-0.28/LICENSE
Perinci-CmdLine-Gen-0.28/Changes
Perinci-CmdLine-Gen-0.28/META.yml
Perinci-CmdLine-Gen-0.28/Makefile.PL
Perinci-CmdLine-Gen-0.28/t/
Perinci-CmdLine-Gen-0.28/t/release-pod-syntax.t
Perinci-CmdLine-Gen-0.28/t/release-pod-coverage.t
Perinci-CmdLine-Gen-0.28/t/release-rinci.t
Perinci-CmdLine-Gen-0.28/t/00-compile.t
Perinci-CmdLine-Gen-0.28/README
Perinci-CmdLine-Gen-0.28/dist.ini
Perinci-CmdLine-Gen-0.28/lib/
Perinci-CmdLine-Gen-0.28/lib/Perinci/
Perinci-CmdLine-Gen-0.28/lib/Perinci/CmdLine/
Perinci-CmdLine-Gen-0.28/lib/Perinci/CmdLine/Gen.pm
Perinci-CmdLine-Gen-0.28/MANIFEST
Perinci-CmdLine-Gen-0.28/weaver.ini
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Perinci::Access 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Perinci::CmdLine::Gen
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz ----
Perinci::Access [requires]
Running test for module 'Perinci::Access'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Perinci-Access-0.44.tar.gz ok
Perinci-Access-0.44/
Perinci-Access-0.44/README
Perinci-Access-0.44/lib/
Perinci-Access-0.44/lib/Perinci/
Perinci-Access-0.44/lib/Perinci/Access/
Perinci-Access-0.44/lib/Perinci/Access/Manual/
Perinci-Access-0.44/lib/Perinci/Access/Manual/FAQ.pod
Perinci-Access-0.44/lib/Perinci/Access/Manual/Examples.pod
Perinci-Access-0.44/lib/Perinci/Access/Manual.pod
Perinci-Access-0.44/lib/Perinci/Access.pm
Perinci-Access-0.44/Makefile.PL
Perinci-Access-0.44/Changes
Perinci-Access-0.44/dist.ini
Perinci-Access-0.44/LICENSE
Perinci-Access-0.44/t/
Perinci-Access-0.44/t/00-compile.t
Perinci-Access-0.44/t/01-basics.t
Perinci-Access-0.44/t/author-pod-syntax.t
Perinci-Access-0.44/t/author-pod-coverage.t
Perinci-Access-0.44/weaver.ini
Perinci-Access-0.44/MANIFEST
Perinci-Access-0.44/META.json
Perinci-Access-0.44/META.yml
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Perinci-Access-0.44.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Warning: prerequisite Perinci::Access::Simple::Client 0.13 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Perinci::Access
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-Access-0.44.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-Access-0.44.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-Access-0.44.tar.gz ----
Perinci::Access::Simple::Client [requires]
Running test for module 'Perinci::Access::Simple::Client'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\P\PE\PERLANCAR\Perinci-Access-Simple-Client-0.21.tar.gz ok
Perinci-Access-Simple-Client-0.21/
Perinci-Access-Simple-Client-0.21/Changes
Perinci-Access-Simple-Client-0.21/LICENSE
Perinci-Access-Simple-Client-0.21/MANIFEST
Perinci-Access-Simple-Client-0.21/lib/
Perinci-Access-Simple-Client-0.21/lib/Perinci/
Perinci-Access-Simple-Client-0.21/lib/Perinci/Access/
Perinci-Access-Simple-Client-0.21/lib/Perinci/Access/Simple/
Perinci-Access-Simple-Client-0.21/lib/Perinci/Access/Simple/Client.pm
Perinci-Access-Simple-Client-0.21/README
Perinci-Access-Simple-Client-0.21/META.json
Perinci-Access-Simple-Client-0.21/Makefile.PL
Perinci-Access-Simple-Client-0.21/dist.ini
Perinci-Access-Simple-Client-0.21/t/
Perinci-Access-Simple-Client-0.21/t/01-basics.t
Perinci-Access-Simple-Client-0.21/t/author-pod-coverage.t
Perinci-Access-Simple-Client-0.21/t/00-compile.t
Perinci-Access-Simple-Client-0.21/t/author-pod-syntax.t
Perinci-Access-Simple-Client-0.21/weaver.ini
Perinci-Access-Simple-Client-0.21/META.yml
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Perinci::Access::Simple::Client
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
>>> dmake
cp lib/Perinci/Access/Simple/Client.pm blib\lib\Perinci\Access\Simple\Client.pm
PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Perinci/Access/Simple/Client.pm loaded ok
ok
/tmp/abs path: No such file or directory at C:\cpanfly-5.22-32\var\cpan\build\Perinci-Access-Simple-Client-0.21-jyfoa1\blib\lib/Perinci/Access/Simple/Client.pm line 110.
# Child (riap+unix ok 2 (uri via extra, path is unescaped)) exited without calling finalize()
# Failed test 'riap+unix ok 2 (uri via extra, path is unescaped)'
# at C:/cpanfly-5.22-32/var/megalib/Test/Builder.pm line 279.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 7.
t/01-basics.t ............
# Subtest: unknown scheme = 400
ok 1 - status
1..1
ok 1 - unknown scheme = 400
# Subtest: invalid riap+tcp 1
ok 1 - status
1..1
ok 2 - invalid riap+tcp 1
# Subtest: riap+tcp requires port
ok 1 - status
1..1
ok 3 - riap+tcp requires port
# Subtest: riap+tcp ok 1
ok 1 - status
ok 2 - result
1..2
ok 4 - riap+tcp ok 1
# Subtest: riap+tcp ok 2 (uri via extra)
ok 1 - status
ok 2 - result
1..2
ok 5 - riap+tcp ok 2 (uri via extra)
# Subtest: invalid riap+unix 1
ok 1 - status
1..1
ok 6 - invalid riap+unix 1
# Subtest: riap+unix ok 2 (uri via extra, path is unescaped)
not ok 7 - riap+unix ok 2 (uri via extra, path is unescaped)
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/7 subtests
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
Test Summary Report
-------------------
t/01-basics.t (Wstat: 512 Tests: 7 Failed: 1)
Failed test: 7
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=4, Tests=8, 1 wallclock secs ( 0.08 usr + 0.03 sys = 0.11 CPU)
Result: FAIL
Failed 1/4 test programs. 1/8 subtests failed.
dmake: Error code 255, while making 'test_dynamic'
PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz
PERLANCAR/Perinci-Access-0.44.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Perinci-Access-0.44-UvllP2
PERLANCAR/Perinci-Access-0.44.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Perinci-Access-0.44.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'Perinci::Access::Simple::Client => 0.13' for 'PERLANCAR/Perinci-Access-0.44.tar.gz' failed when processing 'PERLANCAR/Perinci-Access-Simple-Client-0.21.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/Perinci/Access/Manual/Examples.pod blib\lib\Perinci\Access\Manual\Examples.pod
cp lib/Perinci/Access/Manual/FAQ.pod blib\lib\Perinci\Access\Manual\FAQ.pod
cp lib/Perinci/Access.pm blib\lib\Perinci\Access.pm
cp lib/Perinci/Access/Manual.pod blib\lib\Perinci\Access\Manual.pod
PERLANCAR/Perinci-Access-0.44.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Perinci/Access.pm loaded ok
ok
t/01-basics.t ............
ok 1
1..1
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
All tests successful.
Files=4, Tests=2, 1 wallclock secs ( 0.06 usr + 0.03 sys = 0.09 CPU)
Result: PASS
PERLANCAR/Perinci-Access-0.44.tar.gz
Tests succeeded but one dependency not OK (Perinci::Access::Simple::Client)
PERLANCAR/Perinci-Access-0.44.tar.gz
[dependencies] -- NA
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Perinci-CmdLine-Gen-0.28-lcK197
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'Perinci::Access => 0' for 'PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz' failed when processing 'PERLANCAR/Perinci-Access-0.44.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Access::Simple::Client)'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/Perinci/CmdLine/Gen.pm blib\lib\Perinci\CmdLine\Gen.pm
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ............
1..1
ok 1 - Perinci/CmdLine/Gen.pm loaded ok
ok
t/release-pod-coverage.t .. skipped: these tests are for release candidate testing
t/release-pod-syntax.t .... skipped: these tests are for release candidate testing
t/release-rinci.t ......... skipped: these tests are for release candidate testing
All tests successful.
Files=4, Tests=1, 1 wallclock secs ( 0.08 usr + 0.02 sys = 0.09 CPU)
Result: PASS
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
Tests succeeded but one dependency not OK (Perinci::Access)
PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz
[dependencies] -- NA
PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa
PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'IPC::System::Options => 0.23' for 'PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz' failed when processing 'PERLANCAR/IPC-System-Options-0.24.tar.gz' with 'make_test => NO one dependency not OK (IPC::Run)'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Perinci::CmdLine::Gen => 0.22' for 'PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz' failed when processing 'PERLANCAR/Perinci-CmdLine-Gen-0.28.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Access)'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/Test/Perinci/CmdLine.pm blib\lib\Test\Perinci\CmdLine.pm
PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
# Failed test 'Test/Perinci/CmdLine.pm loaded ok'
# at t/00-compile.t line 37.
# got: '512'
# expected: '0'
Can't locate Perinci/CmdLine/Gen.pm in @INC (you may need to install the Perinci::CmdLine::Gen module) (@INC contains: C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\arch C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib C:/cpanfly-5.22-32/var/megalib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib C:/cpanfly-5.22-32/var/megalib C:/Perl-5.22-32/site/lib C:/Perl-5.22-32/lib .) at C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib/Test/Perinci/CmdLine.pm line 11.
Test::Perinci::CmdLine::BEGIN() called at C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib/Test/Perinci/CmdLine.pm line 11
eval {...} called at C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib/Test/Perinci/CmdLine.pm line 11
require Test/Perinci/CmdLine.pm called at -e line 1
BEGIN failed--compilation aborted at C:\cpanfly-5.22-32\var\cpan\build\Test-Perinci-CmdLine-1.39-O_uaDa\blib\lib/Test/Perinci/CmdLine.pm line 11.
require Test/Perinci/CmdLine.pm called at -e line 1
Compilation failed in require at -e line 1.
# Looks like you failed 1 test of 1.
t/00-compile.t ...........
1..1
not ok 1 - Test/Perinci/CmdLine.pm loaded ok
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/release-rinci.t ........ skipped: these tests are for release candidate testing
Test Summary Report
-------------------
t/00-compile.t (Wstat: 256 Tests: 1 Failed: 1)
Failed test: 1
Non-zero exit status: 1
Files=4, Tests=1, 1 wallclock secs ( 0.06 usr + 0.03 sys = 0.09 CPU)
Result: FAIL
Failed 1/4 test programs. 1/1 subtests failed.
dmake: Error code 255, while making 'test_dynamic'
PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
one dependency not OK (Perinci::CmdLine::Gen); additionally test harness failed
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PERLANCAR/Test-Perinci-CmdLine-1.39.tar.gz
Running test for module 'YAML::Old'
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.22-32\var\cpan\sources\authors\id\I\IN\INGY\YAML-Old-1.07.tar.gz ok
YAML-Old-1.07/
YAML-Old-1.07/META.yml
YAML-Old-1.07/LICENSE
YAML-Old-1.07/Makefile.PL
YAML-Old-1.07/README
YAML-Old-1.07/t/
YAML-Old-1.07/t/dump-perl-types-512.t
YAML-Old-1.07/t/load-spec.t
YAML-Old-1.07/t/dump-file-utf8.t
YAML-Old-1.07/t/node-info.t
YAML-Old-1.07/t/dump-stringify.t
YAML-Old-1.07/t/inbox.t
YAML-Old-1.07/t/basic-tests.t
YAML-Old-1.07/t/references.t
YAML-Old-1.07/t/dump-code.t
YAML-Old-1.07/t/dump-works.t
YAML-Old-1.07/t/load-passes.t
YAML-Old-1.07/t/2-scalars.t
YAML-Old-1.07/t/dump-file.t
YAML-Old-1.07/t/regexp.t
YAML-Old-1.07/t/dump-tests-512.t
YAML-Old-1.07/t/load-fails.t
YAML-Old-1.07/t/bugs-emailed.t
YAML-Old-1.07/t/dump-nested.t
YAML-Old-1.07/t/dump-synopsis.t
YAML-Old-1.07/t/dump-basics.t
YAML-Old-1.07/t/marshall.t
YAML-Old-1.07/t/TestYAMLBase.pm
YAML-Old-1.07/t/load-slides.t
YAML-Old-1.07/t/dump-opts.t
YAML-Old-1.07/t/dump-perl-types.t
YAML-Old-1.07/t/release-pod-syntax.t
YAML-Old-1.07/t/freeze-thaw.t
YAML-Old-1.07/t/changes.t
YAML-Old-1.07/t/export.t
YAML-Old-1.07/t/TestYAML.pm
YAML-Old-1.07/t/long-quoted-value.yaml
YAML-Old-1.07/t/dump-perl-types-514.t
YAML-Old-1.07/t/global-api.t
YAML-Old-1.07/t/svk.t
YAML-Old-1.07/t/dump-tests.t
YAML-Old-1.07/t/bugs-rt.t
YAML-Old-1.07/t/000-compile-modules.t
YAML-Old-1.07/t/test.t
YAML-Old-1.07/t/load-works.t
YAML-Old-1.07/t/rt-90593.t
YAML-Old-1.07/t/dump-tests-514.t
YAML-Old-1.07/t/pugs-objects.t
YAML-Old-1.07/t/svk-config.yaml
YAML-Old-1.07/t/load-tests.t
YAML-Old-1.07/t/dump-blessed.t
YAML-Old-1.07/t/errors.t
YAML-Old-1.07/xt/
YAML-Old-1.07/xt/pmv.t
YAML-Old-1.07/xt/meta.t
YAML-Old-1.07/xt/pod.t
YAML-Old-1.07/lib/
YAML-Old-1.07/lib/YAML/
YAML-Old-1.07/lib/YAML/Old.pm
YAML-Old-1.07/lib/YAML/Old.pod
YAML-Old-1.07/lib/YAML/Old/
YAML-Old-1.07/lib/YAML/Old/Dumper.pm
YAML-Old-1.07/lib/YAML/Old/Marshall.pm
YAML-Old-1.07/lib/YAML/Old/Loader.pm
YAML-Old-1.07/lib/YAML/Old/Tag.pm
YAML-Old-1.07/lib/YAML/Old/Mo.pm
YAML-Old-1.07/lib/YAML/Old/Types.pm
YAML-Old-1.07/lib/YAML/Old/Error.pm
YAML-Old-1.07/lib/YAML/Old/Node.pm
YAML-Old-1.07/lib/YAML/Old/Loader/
YAML-Old-1.07/lib/YAML/Old/Loader/Base.pm
YAML-Old-1.07/lib/YAML/Old/Dumper/
YAML-Old-1.07/lib/YAML/Old/Dumper/Base.pm
YAML-Old-1.07/MANIFEST
YAML-Old-1.07/Changes
YAML-Old-1.07/CONTRIBUTING
YAML-Old-1.07/META.json
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'prepare'
Configuring I/IN/INGY/YAML-Old-1.07.tar.gz with Makefile.PL
>>> C:\Perl-5.22-32\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~3.22-\var\megalib
Want \perl-5~1.22-\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for YAML::Old
Writing MYMETA.yml and MYMETA.json
INGY/YAML-Old-1.07.tar.gz
C:\Perl-5.22-32\bin\perl.exe Makefile.PL -- OK
Running make for I/IN/INGY/YAML-Old-1.07.tar.gz
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'make'
>>> dmake
cp lib/YAML/Old/Mo.pm blib\lib\YAML\Old\Mo.pm
cp lib/YAML/Old/Types.pm blib\lib\YAML\Old\Types.pm
cp lib/YAML/Old/Loader.pm blib\lib\YAML\Old\Loader.pm
cp lib/YAML/Old.pod blib\lib\YAML\Old.pod
cp lib/YAML/Old/Dumper/Base.pm blib\lib\YAML\Old\Dumper\Base.pm
cp lib/YAML/Old/Dumper.pm blib\lib\YAML\Old\Dumper.pm
cp lib/YAML/Old/Error.pm blib\lib\YAML\Old\Error.pm
cp lib/YAML/Old/Tag.pm blib\lib\YAML\Old\Tag.pm
cp lib/YAML/Old/Loader/Base.pm blib\lib\YAML\Old\Loader\Base.pm
cp lib/YAML/Old/Node.pm blib\lib\YAML\Old\Node.pm
cp lib/YAML/Old.pm blib\lib\YAML\Old.pm
cp lib/YAML/Old/Marshall.pm blib\lib\YAML\Old\Marshall.pm
INGY/YAML-Old-1.07.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-0.76-wZS3i7/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Data-Sah-Coerce-0.004-ZKK1Io/blib/lib C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/arch C:\cpanfly-5.22-32\var\cpan\build\Nodejs-Util-0.003-0tdO53/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.22-32\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/000-compile-modules.t ..
ok 1 - use YAML::Old;
ok 2 - use YAML::Old::Dumper;
ok 3 - use YAML::Old::Error;
ok 4 - use YAML::Old::Loader;
ok 5 - use YAML::Old::Marshall;
ok 6 - use YAML::Old::Mo;
ok 7 - use YAML::Old::Node;
ok 8 - use YAML::Old::Tag;
ok 9 - use YAML::Old::Types;
ok 10 - use YAML::Old::Dumper::Base;
ok 11 - use YAML::Old::Loader::Base;
1..11
ok
Timeout (max run time is 300s)
C:\Perl-5.22-32\bin\perl.exe exits with 37.