0s autopkgtest [11:36:56]: starting date and time: 2024-03-24 11:36:56+0000 0s autopkgtest [11:36:56]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [11:36:56]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.r6_t4fld/out --timeout-copy=6000 -a i386 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:libcpanel-json-xs-perl --apt-upgrade libjson-schema-modern-perl --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=libcpanel-json-xs-perl/4.37-1build2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@lcy02-33.secgroup --name adt-noble-i386-libjson-schema-modern-perl-20240324-110353-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 203s autopkgtest [11:40:19]: testbed dpkg architecture: amd64 203s autopkgtest [11:40:19]: testbed apt version: 2.7.12 204s autopkgtest [11:40:20]: test architecture: i386 204s autopkgtest [11:40:20]: @@@@@@@@@@@@@@@@@@@@ test bed setup 204s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 204s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [57.3 kB] 204s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3983 kB] 204s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 204s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 204s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [722 kB] 204s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [484 kB] 204s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [3508 B] 204s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [6700 B] 204s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [30.5 kB] 204s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [116 B] 204s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [1300 kB] 204s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [4418 kB] 204s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [9396 B] 204s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse i386 Packages [27.1 kB] 204s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [96.1 kB] 204s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [196 B] 207s Fetched 11.8 MB in 2s (7651 kB/s) 208s Reading package lists... 209s Reading package lists... 210s Building dependency tree... 210s Reading state information... 210s Calculating upgrade... 210s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 210s Reading package lists... 210s Building dependency tree... 210s Reading state information... 211s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 211s sh: Attempting to set up Debian/Ubuntu apt sources automatically 211s sh: Distribution appears to be Ubuntu 212s Reading package lists... 212s Building dependency tree... 212s Reading state information... 213s eatmydata is already the newest version (131-1). 213s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 213s Reading package lists... 213s Building dependency tree... 213s Reading state information... 213s dbus is already the newest version (1.14.10-4ubuntu1). 213s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 213s Reading package lists... 213s Building dependency tree... 213s Reading state information... 214s rng-tools-debian is already the newest version (2.4). 214s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 214s Reading package lists... 214s Building dependency tree... 214s Reading state information... 214s The following packages will be REMOVED: 214s cloud-init* python3-configobj* python3-debconf* 214s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 214s After this operation, 3256 kB disk space will be freed. 214s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71864 files and directories currently installed.) 214s Removing cloud-init (24.1.2-0ubuntu1) ... 215s Removing python3-configobj (5.0.8-3) ... 215s Removing python3-debconf (1.5.86) ... 215s Processing triggers for man-db (2.12.0-3) ... 216s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71475 files and directories currently installed.) 216s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 216s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 216s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 216s invoke-rc.d: policy-rc.d denied execution of try-restart. 216s Reading package lists... 217s Building dependency tree... 217s Reading state information... 217s linux-generic is already the newest version (6.8.0-11.11+1). 217s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 217s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 217s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 217s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 219s Reading package lists... 219s Reading package lists... 219s Building dependency tree... 219s Reading state information... 219s Calculating upgrade... 220s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 220s Reading package lists... 220s Building dependency tree... 220s Reading state information... 220s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 220s autopkgtest [11:40:36]: rebooting testbed after setup commands that affected boot 235s autopkgtest [11:40:51]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 00:29:05 UTC 2024 236s autopkgtest [11:40:52]: @@@@@@@@@@@@@@@@@@@@ apt-source libjson-schema-modern-perl 236s Get:1 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (dsc) [3902 B] 236s Get:2 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (tar) [190 kB] 236s Get:3 http://ftpmaster.internal/ubuntu noble/universe libjson-schema-modern-perl 0.582-1 (diff) [6736 B] 237s gpgv: Signature made Sat Jan 27 02:35:25 2024 UTC 237s gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 237s gpgv: Can't check signature: No public key 237s dpkg-source: warning: cannot verify inline signature for ./libjson-schema-modern-perl_0.582-1.dsc: no acceptable signature found 237s autopkgtest [11:40:53]: testing package libjson-schema-modern-perl version 0.582-1 237s autopkgtest [11:40:53]: build not needed 237s autopkgtest [11:40:53]: test autodep8-perl-build-deps: preparing testbed 240s Note, using file '/tmp/autopkgtest.YgRYGQ/1-autopkgtest-satdep.dsc' to get the build dependencies 240s Reading package lists... 240s Building dependency tree... 240s Reading state information... 240s Starting pkgProblemResolver with broken count: 0 241s Starting 2 pkgProblemResolver with broken count: 0 241s Done 241s The following NEW packages will be installed: 241s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 241s cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu dctrl-tools debhelper 241s debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-13 241s g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 241s gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 241s javascript-common libalgorithm-c3-perl libarchive-zip-perl libasan8 241s libatomic1 libb-hooks-endofscope-perl libb-hooks-op-check-perl libc-dev-bin 241s libc6-dev libcc1-0 libclass-c3-perl libclass-data-inheritable-perl 241s libclass-inspector-perl libclass-method-modifiers-perl 241s libclass-singleton-perl libclass-tiny-perl libclass-xsaccessor-perl 241s libcpan-meta-check-perl libcpanel-json-xs-perl libcrypt-dev 241s libdata-optlist-perl libdata-validate-domain-perl 241s libdatetime-format-rfc3339-perl libdatetime-locale-perl libdatetime-perl 241s libdatetime-timezone-perl libdebhelper-perl libdevel-callchecker-perl 241s libdevel-cycle-perl libdevel-stacktrace-perl libdw1 241s libdynaloader-functions-perl libemail-address-xs-perl libeval-closure-perl 241s libexception-class-perl libexporter-tiny-perl libextutils-config-perl 241s libextutils-helpers-perl libextutils-installpaths-perl 241s libfeature-compat-try-perl libfile-copy-recursive-perl libfile-sharedir-perl 241s libfile-stripnondeterminism-perl libgcc-13-dev 241s libgetopt-long-descriptive-perl libgomp1 libhwasan0 libimport-into-perl 241s libio-stringy-perl libisl23 libitm1 libjs-bootstrap4 libjs-highlight.js 241s libjs-jquery libjs-popper.js libjson-maybexs-perl libjson-perl 241s libjson-schema-modern-perl liblsan0 libmodule-build-tiny-perl 241s libmodule-implementation-perl libmodule-runtime-perl libmojolicious-perl 241s libmoo-perl libmoox-typetiny-perl libmpc3 libmro-compat-perl 241s libnamespace-autoclean-perl libnamespace-clean-perl libnet-domain-tld-perl 241s libnet-idn-encode-perl libpackage-stash-perl libpadwalker-perl 241s libparams-classify-perl libparams-util-perl libparams-validate-perl 241s libparams-validationcompiler-perl libpath-tiny-perl libquadmath0 241s libref-util-perl librole-tiny-perl libsafe-isa-perl libscope-guard-perl 241s libsereal-decoder-perl libsereal-encoder-perl libspecio-perl 241s libstdc++-13-dev libstrictures-perl libsub-exporter-perl 241s libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl 241s libsub-name-perl libsub-override-perl libsub-quote-perl 241s libsyntax-keyword-try-perl libterm-table-perl libtest-deep-perl 241s libtest-deep-unorderedpairs-perl libtest-fatal-perl 241s libtest-file-sharedir-perl libtest-json-schema-acceptance-perl 241s libtest-memory-cycle-perl libtest-needs-perl libtest-warnings-perl 241s libtest-without-module-perl libtest2-suite-perl libtime-moment-perl libtool 241s libtry-tiny-perl libtsan2 libtype-tiny-perl libubsan1 libvariable-magic-perl 241s libxs-parse-keyword-perl libxstring-perl linux-libc-dev m4 241s pkg-perl-autopkgtest po-debconf rpcsvc-proto 241s 0 upgraded, 147 newly installed, 0 to remove and 0 not upgraded. 241s Need to get 78.9 MB of archives. 241s After this operation, 306 MB of additional disk space will be used. 241s Get:1 http://ftpmaster.internal/ubuntu noble/main amd64 m4 amd64 1.4.19-4 [243 kB] 241s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 autoconf all 2.71-3 [339 kB] 241s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 dctrl-tools amd64 2.24-3build2 [66.9 kB] 241s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 autodep8 all 0.28 [13.2 kB] 241s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 autotools-dev all 20220109.1 [44.9 kB] 241s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 241s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 autopoint all 0.21-14ubuntu1 [422 kB] 241s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 libc-dev-bin amd64 2.39-0ubuntu6 [20.4 kB] 241s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 linux-libc-dev amd64 6.8.0-11.11 [1595 kB] 241s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 libcrypt-dev amd64 1:4.4.36-4 [128 kB] 241s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 rpcsvc-proto amd64 1.4.2-0ubuntu6 [68.5 kB] 241s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 libc6-dev amd64 2.39-0ubuntu6 [2126 kB] 241s Get:13 http://ftpmaster.internal/ubuntu noble/main amd64 libisl23 amd64 0.26-3 [741 kB] 241s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 libmpc3 amd64 1.3.1-1 [54.1 kB] 241s Get:15 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [11.2 MB] 241s Get:16 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-13 amd64 13.2.0-17ubuntu2 [1030 B] 241s Get:17 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5326 B] 241s Get:18 http://ftpmaster.internal/ubuntu noble/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB] 241s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 libcc1-0 amd64 14-20240303-1ubuntu1 [47.7 kB] 241s Get:20 http://ftpmaster.internal/ubuntu noble/main amd64 libgomp1 amd64 14-20240303-1ubuntu1 [147 kB] 241s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 libitm1 amd64 14-20240303-1ubuntu1 [29.1 kB] 241s Get:22 http://ftpmaster.internal/ubuntu noble/main amd64 libatomic1 amd64 14-20240303-1ubuntu1 [10.4 kB] 241s Get:23 http://ftpmaster.internal/ubuntu noble/main amd64 libasan8 amd64 14-20240303-1ubuntu1 [3026 kB] 241s Get:24 http://ftpmaster.internal/ubuntu noble/main amd64 liblsan0 amd64 14-20240303-1ubuntu1 [1310 kB] 241s Get:25 http://ftpmaster.internal/ubuntu noble/main amd64 libtsan2 amd64 14-20240303-1ubuntu1 [2732 kB] 241s Get:26 http://ftpmaster.internal/ubuntu noble/main amd64 libubsan1 amd64 14-20240303-1ubuntu1 [1172 kB] 241s Get:27 http://ftpmaster.internal/ubuntu noble/main amd64 libhwasan0 amd64 14-20240303-1ubuntu1 [1629 kB] 241s Get:28 http://ftpmaster.internal/ubuntu noble/main amd64 libquadmath0 amd64 14-20240303-1ubuntu1 [155 kB] 241s Get:29 http://ftpmaster.internal/ubuntu noble/main amd64 libgcc-13-dev amd64 13.2.0-17ubuntu2 [2687 kB] 241s Get:30 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [21.9 MB] 241s Get:31 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-13 amd64 13.2.0-17ubuntu2 [477 kB] 241s Get:32 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1212 B] 241s Get:33 http://ftpmaster.internal/ubuntu noble/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5018 B] 241s Get:34 http://ftpmaster.internal/ubuntu noble/main amd64 libstdc++-13-dev amd64 13.2.0-17ubuntu2 [2340 kB] 241s Get:35 http://ftpmaster.internal/ubuntu noble/main amd64 g++-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [12.5 MB] 241s Get:36 http://ftpmaster.internal/ubuntu noble/main amd64 g++-13 amd64 13.2.0-17ubuntu2 [14.5 kB] 241s Get:37 http://ftpmaster.internal/ubuntu noble/main amd64 g++-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [964 B] 241s Get:38 http://ftpmaster.internal/ubuntu noble/main amd64 g++ amd64 4:13.2.0-7ubuntu1 [1100 B] 241s Get:39 http://ftpmaster.internal/ubuntu noble/main amd64 build-essential amd64 12.10ubuntu1 [4928 B] 241s Get:40 http://ftpmaster.internal/ubuntu noble/main amd64 libdebhelper-perl all 13.14.1ubuntu1 [89.5 kB] 241s Get:41 http://ftpmaster.internal/ubuntu noble/main amd64 libtool all 2.4.7-7 [166 kB] 241s Get:42 http://ftpmaster.internal/ubuntu noble/main amd64 dh-autoreconf all 20 [16.1 kB] 241s Get:43 http://ftpmaster.internal/ubuntu noble/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 241s Get:44 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-override-perl all 0.10-1 [10.0 kB] 241s Get:45 http://ftpmaster.internal/ubuntu noble/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] 241s Get:46 http://ftpmaster.internal/ubuntu noble/main amd64 dh-strip-nondeterminism all 1.13.1-1 [5362 B] 241s Get:47 http://ftpmaster.internal/ubuntu noble/main amd64 libdw1 amd64 0.190-1 [260 kB] 241s Get:48 http://ftpmaster.internal/ubuntu noble/main amd64 debugedit amd64 1:5.0-5 [46.1 kB] 241s Get:49 http://ftpmaster.internal/ubuntu noble/main amd64 dwz amd64 0.15-1 [112 kB] 241s Get:50 http://ftpmaster.internal/ubuntu noble/main amd64 gettext amd64 0.21-14ubuntu1 [864 kB] 241s Get:51 http://ftpmaster.internal/ubuntu noble/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 241s Get:52 http://ftpmaster.internal/ubuntu noble/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 241s Get:53 http://ftpmaster.internal/ubuntu noble/main amd64 debhelper all 13.14.1ubuntu1 [869 kB] 242s Get:54 http://ftpmaster.internal/ubuntu noble/main amd64 javascript-common all 11+nmu1 [5936 B] 242s Get:55 http://ftpmaster.internal/ubuntu noble/universe amd64 libalgorithm-c3-perl all 0.11-2 [10.2 kB] 242s Get:56 http://ftpmaster.internal/ubuntu noble/main amd64 libb-hooks-op-check-perl amd64 0.22-2build2 [9452 B] 242s Get:57 http://ftpmaster.internal/ubuntu noble/main amd64 libdynaloader-functions-perl all 0.003-3 [12.1 kB] 242s Get:58 http://ftpmaster.internal/ubuntu noble/main amd64 libdevel-callchecker-perl amd64 0.008-2build1 [13.9 kB] 242s Get:59 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-classify-perl amd64 0.015-2build3 [20.0 kB] 242s Get:60 http://ftpmaster.internal/ubuntu noble/main amd64 libmodule-runtime-perl all 0.016-2 [16.4 kB] 242s Get:61 http://ftpmaster.internal/ubuntu noble/main amd64 libtry-tiny-perl all 0.31-2 [20.8 kB] 242s Get:62 http://ftpmaster.internal/ubuntu noble/main amd64 libmodule-implementation-perl all 0.09-2 [12.0 kB] 242s Get:63 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 242s Get:64 http://ftpmaster.internal/ubuntu noble/main amd64 libvariable-magic-perl amd64 0.63-1build1 [35.0 kB] 242s Get:65 http://ftpmaster.internal/ubuntu noble/main amd64 libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 242s Get:66 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-c3-perl all 0.35-2 [18.4 kB] 242s Get:67 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-data-inheritable-perl all 0.08-3 [8084 B] 242s Get:68 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-inspector-perl all 1.36-3 [15.4 kB] 242s Get:69 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 242s Get:70 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-singleton-perl all 1.6-2 [11.5 kB] 242s Get:71 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-tiny-perl all 1.008-2 [16.4 kB] 242s Get:72 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-xsaccessor-perl amd64 1.19-4build2 [33.2 kB] 242s Get:73 http://ftpmaster.internal/ubuntu noble/universe amd64 libcpan-meta-check-perl all 0.017-1 [6456 B] 242s Get:74 http://ftpmaster.internal/ubuntu noble/main amd64 libcpanel-json-xs-perl amd64 4.37-1build1 [114 kB] 242s Get:75 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-util-perl amd64 1.102-2build1 [21.1 kB] 242s Get:76 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-install-perl all 0.929-1 [9764 B] 242s Get:77 http://ftpmaster.internal/ubuntu noble/main amd64 libdata-optlist-perl all 0.114-1 [9708 B] 242s Get:78 http://ftpmaster.internal/ubuntu noble/main amd64 libnet-domain-tld-perl all 1.75-3 [29.4 kB] 242s Get:79 http://ftpmaster.internal/ubuntu noble/main amd64 libdata-validate-domain-perl all 0.10-1.1 [9992 B] 242s Get:80 http://ftpmaster.internal/ubuntu noble/universe amd64 libfile-sharedir-perl all 1.118-3 [14.0 kB] 242s Get:81 http://ftpmaster.internal/ubuntu noble/main amd64 libpackage-stash-perl all 0.40-1 [19.5 kB] 242s Get:82 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-identify-perl amd64 0.14-3build1 [9854 B] 242s Get:83 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-name-perl amd64 0.27-1build1 [10.7 kB] 242s Get:84 http://ftpmaster.internal/ubuntu noble/main amd64 libnamespace-clean-perl all 0.27-2 [14.0 kB] 242s Get:85 http://ftpmaster.internal/ubuntu noble/universe amd64 libnamespace-autoclean-perl all 0.29-2 [11.7 kB] 242s Get:86 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-exporter-perl all 0.990-1 [49.0 kB] 242s Get:87 http://ftpmaster.internal/ubuntu noble/universe amd64 libeval-closure-perl all 0.14-3 [10.1 kB] 242s Get:88 http://ftpmaster.internal/ubuntu noble/main amd64 libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 242s Get:89 http://ftpmaster.internal/ubuntu noble/main amd64 libexception-class-perl all 1.45-1 [28.6 kB] 242s Get:90 http://ftpmaster.internal/ubuntu noble/universe amd64 libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 242s Get:91 http://ftpmaster.internal/ubuntu noble/universe amd64 libmro-compat-perl all 0.15-2 [10.1 kB] 242s Get:92 http://ftpmaster.internal/ubuntu noble/main amd64 librole-tiny-perl all 2.002004-1 [16.3 kB] 242s Get:93 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 242s Get:94 http://ftpmaster.internal/ubuntu noble/universe amd64 libxstring-perl amd64 0.005-2build1 [7758 B] 242s Get:95 http://ftpmaster.internal/ubuntu noble/universe amd64 libspecio-perl all 0.48-1 [137 kB] 242s Get:96 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-locale-perl all 1:1.37-1 [2833 kB] 242s Get:97 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-timezone-perl all 1:2.62-1+2024a [262 kB] 242s Get:98 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-perl amd64 2:1.65-1 [95.5 kB] 242s Get:99 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-format-rfc3339-perl all 1.8.0-1 [8156 B] 242s Get:100 http://ftpmaster.internal/ubuntu noble/universe amd64 libdevel-cycle-perl all 1.12-2 [10.1 kB] 242s Get:101 http://ftpmaster.internal/ubuntu noble/main amd64 libemail-address-xs-perl amd64 1.05-1build2 [29.1 kB] 242s Get:102 http://ftpmaster.internal/ubuntu noble/main amd64 libexporter-tiny-perl all 1.006002-1 [36.8 kB] 242s Get:103 http://ftpmaster.internal/ubuntu noble/universe amd64 libextutils-config-perl all 0.008-4 [5026 B] 242s Get:104 http://ftpmaster.internal/ubuntu noble/universe amd64 libextutils-helpers-perl all 0.026-4 [10.9 kB] 242s Get:105 http://ftpmaster.internal/ubuntu noble/universe amd64 libextutils-installpaths-perl all 0.012-1.1 [13.3 kB] 242s Get:106 http://ftpmaster.internal/ubuntu noble/main amd64 libxs-parse-keyword-perl amd64 0.39-1build1 [54.5 kB] 242s Get:107 http://ftpmaster.internal/ubuntu noble/main amd64 libsyntax-keyword-try-perl amd64 0.29-1build1 [24.2 kB] 242s Get:108 http://ftpmaster.internal/ubuntu noble/universe amd64 libfeature-compat-try-perl all 0.05-1 [9998 B] 242s Get:109 http://ftpmaster.internal/ubuntu noble/universe amd64 libfile-copy-recursive-perl all 0.45-4 [16.5 kB] 242s Get:110 http://ftpmaster.internal/ubuntu noble/main amd64 libio-stringy-perl all 2.111-3 [55.8 kB] 242s Get:111 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-validate-perl amd64 1.31-2build1 [53.8 kB] 242s Get:112 http://ftpmaster.internal/ubuntu noble/main amd64 libgetopt-long-descriptive-perl all 0.111-1 [25.5 kB] 242s Get:113 http://ftpmaster.internal/ubuntu noble/main amd64 libimport-into-perl all 1.002005-2 [10.7 kB] 242s Get:114 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 242s Get:115 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 242s Get:116 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 242s Get:117 http://ftpmaster.internal/ubuntu noble/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 242s Get:118 http://ftpmaster.internal/ubuntu noble/main amd64 libjson-maybexs-perl all 1.004005-1 [11.3 kB] 242s Get:119 http://ftpmaster.internal/ubuntu noble/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 242s Get:120 http://ftpmaster.internal/ubuntu noble/universe amd64 libmojolicious-perl all 9.35+dfsg-1 [792 kB] 242s Get:121 http://ftpmaster.internal/ubuntu noble/main amd64 libmoo-perl all 2.005005-1 [47.4 kB] 242s Get:122 http://ftpmaster.internal/ubuntu noble/universe amd64 libtype-tiny-perl all 2.004000-1 [354 kB] 242s Get:123 http://ftpmaster.internal/ubuntu noble/universe amd64 libmoox-typetiny-perl all 0.002003-4 [5930 B] 242s Get:124 http://ftpmaster.internal/ubuntu noble/main amd64 libpath-tiny-perl all 0.144-1 [47.7 kB] 242s Get:125 http://ftpmaster.internal/ubuntu noble/universe amd64 libref-util-perl all 0.204-2 [15.1 kB] 242s Get:126 http://ftpmaster.internal/ubuntu noble/universe amd64 libsafe-isa-perl all 1.000010-1 [7684 B] 242s Get:127 http://ftpmaster.internal/ubuntu noble/main amd64 libstrictures-perl all 2.000006-1 [16.3 kB] 242s Get:128 http://ftpmaster.internal/ubuntu noble/universe amd64 libjson-schema-modern-perl all 0.582-1 [93.0 kB] 242s Get:129 http://ftpmaster.internal/ubuntu noble/universe amd64 libmodule-build-tiny-perl all 0.047-1 [10.4 kB] 242s Get:130 http://ftpmaster.internal/ubuntu noble/universe amd64 libnet-idn-encode-perl amd64 2.500-3build1 [84.0 kB] 242s Get:131 http://ftpmaster.internal/ubuntu noble/universe amd64 libpadwalker-perl amd64 2.5-1build4 [15.4 kB] 242s Get:132 http://ftpmaster.internal/ubuntu noble/universe amd64 libscope-guard-perl all 0.21-2 [7730 B] 242s Get:133 http://ftpmaster.internal/ubuntu noble/main amd64 libsereal-decoder-perl amd64 5.004+ds-1build1 [99.4 kB] 242s Get:134 http://ftpmaster.internal/ubuntu noble/main amd64 libsereal-encoder-perl amd64 5.004+ds-1build1 [103 kB] 242s Get:135 http://ftpmaster.internal/ubuntu noble/universe amd64 libterm-table-perl all 0.018-1 [28.4 kB] 242s Get:136 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-deep-perl all 1.204-1 [47.1 kB] 242s Get:137 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-deep-unorderedpairs-perl all 0.006-3 [9052 B] 242s Get:138 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-fatal-perl all 0.017-1 [12.2 kB] 242s Get:139 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-file-sharedir-perl all 1.001002-2 [26.3 kB] 242s Get:140 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest2-suite-perl all 0.000159-1 [397 kB] 242s Get:141 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-json-schema-acceptance-perl all 1.021-1 [87.4 kB] 242s Get:142 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-memory-cycle-perl all 1.06-2 [11.0 kB] 242s Get:143 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-needs-perl all 0.002010-1 [8530 B] 242s Get:144 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-warnings-perl all 0.033-1 [18.9 kB] 242s Get:145 http://ftpmaster.internal/ubuntu noble/universe amd64 libtest-without-module-perl all 0.21-1 [6728 B] 242s Get:146 http://ftpmaster.internal/ubuntu noble/main amd64 libtime-moment-perl amd64 0.44-2build2 [71.0 kB] 242s Get:147 http://ftpmaster.internal/ubuntu noble/universe amd64 pkg-perl-autopkgtest all 0.77 [18.0 kB] 242s Fetched 78.9 MB in 1s (127 MB/s) 242s Selecting previously unselected package m4. 242s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71420 files and directories currently installed.) 242s Preparing to unpack .../000-m4_1.4.19-4_amd64.deb ... 242s Unpacking m4 (1.4.19-4) ... 242s Selecting previously unselected package autoconf. 242s Preparing to unpack .../001-autoconf_2.71-3_all.deb ... 242s Unpacking autoconf (2.71-3) ... 242s Selecting previously unselected package dctrl-tools. 242s Preparing to unpack .../002-dctrl-tools_2.24-3build2_amd64.deb ... 242s Unpacking dctrl-tools (2.24-3build2) ... 242s Selecting previously unselected package autodep8. 242s Preparing to unpack .../003-autodep8_0.28_all.deb ... 242s Unpacking autodep8 (0.28) ... 242s Selecting previously unselected package autotools-dev. 242s Preparing to unpack .../004-autotools-dev_20220109.1_all.deb ... 242s Unpacking autotools-dev (20220109.1) ... 242s Selecting previously unselected package automake. 242s Preparing to unpack .../005-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 242s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 243s Selecting previously unselected package autopoint. 243s Preparing to unpack .../006-autopoint_0.21-14ubuntu1_all.deb ... 243s Unpacking autopoint (0.21-14ubuntu1) ... 243s Selecting previously unselected package libc-dev-bin. 243s Preparing to unpack .../007-libc-dev-bin_2.39-0ubuntu6_amd64.deb ... 243s Unpacking libc-dev-bin (2.39-0ubuntu6) ... 243s Selecting previously unselected package linux-libc-dev:amd64. 243s Preparing to unpack .../008-linux-libc-dev_6.8.0-11.11_amd64.deb ... 243s Unpacking linux-libc-dev:amd64 (6.8.0-11.11) ... 243s Selecting previously unselected package libcrypt-dev:amd64. 243s Preparing to unpack .../009-libcrypt-dev_1%3a4.4.36-4_amd64.deb ... 243s Unpacking libcrypt-dev:amd64 (1:4.4.36-4) ... 243s Selecting previously unselected package rpcsvc-proto. 243s Preparing to unpack .../010-rpcsvc-proto_1.4.2-0ubuntu6_amd64.deb ... 243s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 243s Selecting previously unselected package libc6-dev:amd64. 243s Preparing to unpack .../011-libc6-dev_2.39-0ubuntu6_amd64.deb ... 243s Unpacking libc6-dev:amd64 (2.39-0ubuntu6) ... 243s Selecting previously unselected package libisl23:amd64. 243s Preparing to unpack .../012-libisl23_0.26-3_amd64.deb ... 243s Unpacking libisl23:amd64 (0.26-3) ... 243s Selecting previously unselected package libmpc3:amd64. 243s Preparing to unpack .../013-libmpc3_1.3.1-1_amd64.deb ... 243s Unpacking libmpc3:amd64 (1.3.1-1) ... 243s Selecting previously unselected package cpp-13-x86-64-linux-gnu. 243s Preparing to unpack .../014-cpp-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 243s Unpacking cpp-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 243s Selecting previously unselected package cpp-13. 243s Preparing to unpack .../015-cpp-13_13.2.0-17ubuntu2_amd64.deb ... 243s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 243s Selecting previously unselected package cpp-x86-64-linux-gnu. 243s Preparing to unpack .../016-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 243s Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 243s Selecting previously unselected package cpp. 243s Preparing to unpack .../017-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ... 243s Unpacking cpp (4:13.2.0-7ubuntu1) ... 243s Selecting previously unselected package libcc1-0:amd64. 243s Preparing to unpack .../018-libcc1-0_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking libcc1-0:amd64 (14-20240303-1ubuntu1) ... 243s Selecting previously unselected package libgomp1:amd64. 243s Preparing to unpack .../019-libgomp1_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking libgomp1:amd64 (14-20240303-1ubuntu1) ... 243s Selecting previously unselected package libitm1:amd64. 243s Preparing to unpack .../020-libitm1_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking libitm1:amd64 (14-20240303-1ubuntu1) ... 243s Selecting previously unselected package libatomic1:amd64. 243s Preparing to unpack .../021-libatomic1_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking libatomic1:amd64 (14-20240303-1ubuntu1) ... 243s Selecting previously unselected package libasan8:amd64. 243s Preparing to unpack .../022-libasan8_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking libasan8:amd64 (14-20240303-1ubuntu1) ... 243s Selecting previously unselected package liblsan0:amd64. 243s Preparing to unpack .../023-liblsan0_14-20240303-1ubuntu1_amd64.deb ... 243s Unpacking liblsan0:amd64 (14-20240303-1ubuntu1) ... 244s Selecting previously unselected package libtsan2:amd64. 244s Preparing to unpack .../024-libtsan2_14-20240303-1ubuntu1_amd64.deb ... 244s Unpacking libtsan2:amd64 (14-20240303-1ubuntu1) ... 244s Selecting previously unselected package libubsan1:amd64. 244s Preparing to unpack .../025-libubsan1_14-20240303-1ubuntu1_amd64.deb ... 244s Unpacking libubsan1:amd64 (14-20240303-1ubuntu1) ... 244s Selecting previously unselected package libhwasan0:amd64. 244s Preparing to unpack .../026-libhwasan0_14-20240303-1ubuntu1_amd64.deb ... 244s Unpacking libhwasan0:amd64 (14-20240303-1ubuntu1) ... 244s Selecting previously unselected package libquadmath0:amd64. 244s Preparing to unpack .../027-libquadmath0_14-20240303-1ubuntu1_amd64.deb ... 244s Unpacking libquadmath0:amd64 (14-20240303-1ubuntu1) ... 244s Selecting previously unselected package libgcc-13-dev:amd64. 244s Preparing to unpack .../028-libgcc-13-dev_13.2.0-17ubuntu2_amd64.deb ... 244s Unpacking libgcc-13-dev:amd64 (13.2.0-17ubuntu2) ... 244s Selecting previously unselected package gcc-13-x86-64-linux-gnu. 244s Preparing to unpack .../029-gcc-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 244s Unpacking gcc-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 244s Selecting previously unselected package gcc-13. 244s Preparing to unpack .../030-gcc-13_13.2.0-17ubuntu2_amd64.deb ... 244s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 244s Selecting previously unselected package gcc-x86-64-linux-gnu. 244s Preparing to unpack .../031-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 244s Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 244s Selecting previously unselected package gcc. 244s Preparing to unpack .../032-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ... 244s Unpacking gcc (4:13.2.0-7ubuntu1) ... 244s Selecting previously unselected package libstdc++-13-dev:amd64. 244s Preparing to unpack .../033-libstdc++-13-dev_13.2.0-17ubuntu2_amd64.deb ... 244s Unpacking libstdc++-13-dev:amd64 (13.2.0-17ubuntu2) ... 244s Selecting previously unselected package g++-13-x86-64-linux-gnu. 244s Preparing to unpack .../034-g++-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 244s Unpacking g++-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 245s Selecting previously unselected package g++-13. 245s Preparing to unpack .../035-g++-13_13.2.0-17ubuntu2_amd64.deb ... 245s Unpacking g++-13 (13.2.0-17ubuntu2) ... 245s Selecting previously unselected package g++-x86-64-linux-gnu. 245s Preparing to unpack .../036-g++-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 245s Unpacking g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 245s Selecting previously unselected package g++. 245s Preparing to unpack .../037-g++_4%3a13.2.0-7ubuntu1_amd64.deb ... 245s Unpacking g++ (4:13.2.0-7ubuntu1) ... 245s Selecting previously unselected package build-essential. 245s Preparing to unpack .../038-build-essential_12.10ubuntu1_amd64.deb ... 245s Unpacking build-essential (12.10ubuntu1) ... 245s Selecting previously unselected package libdebhelper-perl. 245s Preparing to unpack .../039-libdebhelper-perl_13.14.1ubuntu1_all.deb ... 245s Unpacking libdebhelper-perl (13.14.1ubuntu1) ... 245s Selecting previously unselected package libtool. 245s Preparing to unpack .../040-libtool_2.4.7-7_all.deb ... 245s Unpacking libtool (2.4.7-7) ... 245s Selecting previously unselected package dh-autoreconf. 245s Preparing to unpack .../041-dh-autoreconf_20_all.deb ... 245s Unpacking dh-autoreconf (20) ... 245s Selecting previously unselected package libarchive-zip-perl. 245s Preparing to unpack .../042-libarchive-zip-perl_1.68-1_all.deb ... 245s Unpacking libarchive-zip-perl (1.68-1) ... 245s Selecting previously unselected package libsub-override-perl. 245s Preparing to unpack .../043-libsub-override-perl_0.10-1_all.deb ... 245s Unpacking libsub-override-perl (0.10-1) ... 245s Selecting previously unselected package libfile-stripnondeterminism-perl. 245s Preparing to unpack .../044-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... 245s Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... 245s Selecting previously unselected package dh-strip-nondeterminism. 245s Preparing to unpack .../045-dh-strip-nondeterminism_1.13.1-1_all.deb ... 245s Unpacking dh-strip-nondeterminism (1.13.1-1) ... 245s Selecting previously unselected package libdw1:amd64. 245s Preparing to unpack .../046-libdw1_0.190-1_amd64.deb ... 245s Unpacking libdw1:amd64 (0.190-1) ... 245s Selecting previously unselected package debugedit. 245s Preparing to unpack .../047-debugedit_1%3a5.0-5_amd64.deb ... 245s Unpacking debugedit (1:5.0-5) ... 245s Selecting previously unselected package dwz. 245s Preparing to unpack .../048-dwz_0.15-1_amd64.deb ... 245s Unpacking dwz (0.15-1) ... 245s Selecting previously unselected package gettext. 245s Preparing to unpack .../049-gettext_0.21-14ubuntu1_amd64.deb ... 245s Unpacking gettext (0.21-14ubuntu1) ... 245s Selecting previously unselected package intltool-debian. 245s Preparing to unpack .../050-intltool-debian_0.35.0+20060710.6_all.deb ... 245s Unpacking intltool-debian (0.35.0+20060710.6) ... 245s Selecting previously unselected package po-debconf. 245s Preparing to unpack .../051-po-debconf_1.0.21+nmu1_all.deb ... 245s Unpacking po-debconf (1.0.21+nmu1) ... 245s Selecting previously unselected package debhelper. 245s Preparing to unpack .../052-debhelper_13.14.1ubuntu1_all.deb ... 245s Unpacking debhelper (13.14.1ubuntu1) ... 245s Selecting previously unselected package javascript-common. 245s Preparing to unpack .../053-javascript-common_11+nmu1_all.deb ... 245s Unpacking javascript-common (11+nmu1) ... 245s Selecting previously unselected package libalgorithm-c3-perl. 245s Preparing to unpack .../054-libalgorithm-c3-perl_0.11-2_all.deb ... 245s Unpacking libalgorithm-c3-perl (0.11-2) ... 245s Selecting previously unselected package libb-hooks-op-check-perl:amd64. 245s Preparing to unpack .../055-libb-hooks-op-check-perl_0.22-2build2_amd64.deb ... 245s Unpacking libb-hooks-op-check-perl:amd64 (0.22-2build2) ... 245s Selecting previously unselected package libdynaloader-functions-perl. 245s Preparing to unpack .../056-libdynaloader-functions-perl_0.003-3_all.deb ... 245s Unpacking libdynaloader-functions-perl (0.003-3) ... 245s Selecting previously unselected package libdevel-callchecker-perl:amd64. 245s Preparing to unpack .../057-libdevel-callchecker-perl_0.008-2build1_amd64.deb ... 245s Unpacking libdevel-callchecker-perl:amd64 (0.008-2build1) ... 245s Selecting previously unselected package libparams-classify-perl:amd64. 245s Preparing to unpack .../058-libparams-classify-perl_0.015-2build3_amd64.deb ... 245s Unpacking libparams-classify-perl:amd64 (0.015-2build3) ... 245s Selecting previously unselected package libmodule-runtime-perl. 245s Preparing to unpack .../059-libmodule-runtime-perl_0.016-2_all.deb ... 245s Unpacking libmodule-runtime-perl (0.016-2) ... 245s Selecting previously unselected package libtry-tiny-perl. 245s Preparing to unpack .../060-libtry-tiny-perl_0.31-2_all.deb ... 245s Unpacking libtry-tiny-perl (0.31-2) ... 245s Selecting previously unselected package libmodule-implementation-perl. 245s Preparing to unpack .../061-libmodule-implementation-perl_0.09-2_all.deb ... 245s Unpacking libmodule-implementation-perl (0.09-2) ... 245s Selecting previously unselected package libsub-exporter-progressive-perl. 245s Preparing to unpack .../062-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 245s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 245s Selecting previously unselected package libvariable-magic-perl. 245s Preparing to unpack .../063-libvariable-magic-perl_0.63-1build1_amd64.deb ... 245s Unpacking libvariable-magic-perl (0.63-1build1) ... 245s Selecting previously unselected package libb-hooks-endofscope-perl. 245s Preparing to unpack .../064-libb-hooks-endofscope-perl_0.28-1_all.deb ... 245s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 245s Selecting previously unselected package libclass-c3-perl. 246s Preparing to unpack .../065-libclass-c3-perl_0.35-2_all.deb ... 246s Unpacking libclass-c3-perl (0.35-2) ... 246s Selecting previously unselected package libclass-data-inheritable-perl. 246s Preparing to unpack .../066-libclass-data-inheritable-perl_0.08-3_all.deb ... 246s Unpacking libclass-data-inheritable-perl (0.08-3) ... 246s Selecting previously unselected package libclass-inspector-perl. 246s Preparing to unpack .../067-libclass-inspector-perl_1.36-3_all.deb ... 246s Unpacking libclass-inspector-perl (1.36-3) ... 246s Selecting previously unselected package libclass-method-modifiers-perl. 246s Preparing to unpack .../068-libclass-method-modifiers-perl_2.15-1_all.deb ... 246s Unpacking libclass-method-modifiers-perl (2.15-1) ... 246s Selecting previously unselected package libclass-singleton-perl. 246s Preparing to unpack .../069-libclass-singleton-perl_1.6-2_all.deb ... 246s Unpacking libclass-singleton-perl (1.6-2) ... 246s Selecting previously unselected package libclass-tiny-perl. 246s Preparing to unpack .../070-libclass-tiny-perl_1.008-2_all.deb ... 246s Unpacking libclass-tiny-perl (1.008-2) ... 246s Selecting previously unselected package libclass-xsaccessor-perl. 246s Preparing to unpack .../071-libclass-xsaccessor-perl_1.19-4build2_amd64.deb ... 246s Unpacking libclass-xsaccessor-perl (1.19-4build2) ... 246s Selecting previously unselected package libcpan-meta-check-perl. 246s Preparing to unpack .../072-libcpan-meta-check-perl_0.017-1_all.deb ... 246s Unpacking libcpan-meta-check-perl (0.017-1) ... 246s Selecting previously unselected package libcpanel-json-xs-perl:amd64. 246s Preparing to unpack .../073-libcpanel-json-xs-perl_4.37-1build1_amd64.deb ... 246s Unpacking libcpanel-json-xs-perl:amd64 (4.37-1build1) ... 246s Selecting previously unselected package libparams-util-perl. 246s Preparing to unpack .../074-libparams-util-perl_1.102-2build1_amd64.deb ... 246s Unpacking libparams-util-perl (1.102-2build1) ... 246s Selecting previously unselected package libsub-install-perl. 246s Preparing to unpack .../075-libsub-install-perl_0.929-1_all.deb ... 246s Unpacking libsub-install-perl (0.929-1) ... 246s Selecting previously unselected package libdata-optlist-perl. 246s Preparing to unpack .../076-libdata-optlist-perl_0.114-1_all.deb ... 246s Unpacking libdata-optlist-perl (0.114-1) ... 246s Selecting previously unselected package libnet-domain-tld-perl. 246s Preparing to unpack .../077-libnet-domain-tld-perl_1.75-3_all.deb ... 246s Unpacking libnet-domain-tld-perl (1.75-3) ... 246s Selecting previously unselected package libdata-validate-domain-perl. 246s Preparing to unpack .../078-libdata-validate-domain-perl_0.10-1.1_all.deb ... 246s Unpacking libdata-validate-domain-perl (0.10-1.1) ... 246s Selecting previously unselected package libfile-sharedir-perl. 246s Preparing to unpack .../079-libfile-sharedir-perl_1.118-3_all.deb ... 246s Unpacking libfile-sharedir-perl (1.118-3) ... 246s Selecting previously unselected package libpackage-stash-perl. 246s Preparing to unpack .../080-libpackage-stash-perl_0.40-1_all.deb ... 246s Unpacking libpackage-stash-perl (0.40-1) ... 246s Selecting previously unselected package libsub-identify-perl. 246s Preparing to unpack .../081-libsub-identify-perl_0.14-3build1_amd64.deb ... 246s Unpacking libsub-identify-perl (0.14-3build1) ... 246s Selecting previously unselected package libsub-name-perl:amd64. 246s Preparing to unpack .../082-libsub-name-perl_0.27-1build1_amd64.deb ... 246s Unpacking libsub-name-perl:amd64 (0.27-1build1) ... 246s Selecting previously unselected package libnamespace-clean-perl. 246s Preparing to unpack .../083-libnamespace-clean-perl_0.27-2_all.deb ... 246s Unpacking libnamespace-clean-perl (0.27-2) ... 246s Selecting previously unselected package libnamespace-autoclean-perl. 246s Preparing to unpack .../084-libnamespace-autoclean-perl_0.29-2_all.deb ... 246s Unpacking libnamespace-autoclean-perl (0.29-2) ... 246s Selecting previously unselected package libsub-exporter-perl. 246s Preparing to unpack .../085-libsub-exporter-perl_0.990-1_all.deb ... 246s Unpacking libsub-exporter-perl (0.990-1) ... 246s Selecting previously unselected package libeval-closure-perl. 246s Preparing to unpack .../086-libeval-closure-perl_0.14-3_all.deb ... 246s Unpacking libeval-closure-perl (0.14-3) ... 246s Selecting previously unselected package libdevel-stacktrace-perl. 246s Preparing to unpack .../087-libdevel-stacktrace-perl_2.0500-1_all.deb ... 246s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 246s Selecting previously unselected package libexception-class-perl. 246s Preparing to unpack .../088-libexception-class-perl_1.45-1_all.deb ... 246s Unpacking libexception-class-perl (1.45-1) ... 246s Selecting previously unselected package libparams-validationcompiler-perl. 246s Preparing to unpack .../089-libparams-validationcompiler-perl_0.31-1_all.deb ... 246s Unpacking libparams-validationcompiler-perl (0.31-1) ... 246s Selecting previously unselected package libmro-compat-perl. 246s Preparing to unpack .../090-libmro-compat-perl_0.15-2_all.deb ... 246s Unpacking libmro-compat-perl (0.15-2) ... 246s Selecting previously unselected package librole-tiny-perl. 246s Preparing to unpack .../091-librole-tiny-perl_2.002004-1_all.deb ... 246s Unpacking librole-tiny-perl (2.002004-1) ... 246s Selecting previously unselected package libsub-quote-perl. 246s Preparing to unpack .../092-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 246s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 246s Selecting previously unselected package libxstring-perl:amd64. 246s Preparing to unpack .../093-libxstring-perl_0.005-2build1_amd64.deb ... 246s Unpacking libxstring-perl:amd64 (0.005-2build1) ... 246s Selecting previously unselected package libspecio-perl. 246s Preparing to unpack .../094-libspecio-perl_0.48-1_all.deb ... 246s Unpacking libspecio-perl (0.48-1) ... 246s Selecting previously unselected package libdatetime-locale-perl. 246s Preparing to unpack .../095-libdatetime-locale-perl_1%3a1.37-1_all.deb ... 246s Unpacking libdatetime-locale-perl (1:1.37-1) ... 247s Selecting previously unselected package libdatetime-timezone-perl. 247s Preparing to unpack .../096-libdatetime-timezone-perl_1%3a2.62-1+2024a_all.deb ... 247s Unpacking libdatetime-timezone-perl (1:2.62-1+2024a) ... 247s Selecting previously unselected package libdatetime-perl. 247s Preparing to unpack .../097-libdatetime-perl_2%3a1.65-1_amd64.deb ... 247s Unpacking libdatetime-perl (2:1.65-1) ... 247s Selecting previously unselected package libdatetime-format-rfc3339-perl. 247s Preparing to unpack .../098-libdatetime-format-rfc3339-perl_1.8.0-1_all.deb ... 247s Unpacking libdatetime-format-rfc3339-perl (1.8.0-1) ... 247s Selecting previously unselected package libdevel-cycle-perl. 247s Preparing to unpack .../099-libdevel-cycle-perl_1.12-2_all.deb ... 247s Unpacking libdevel-cycle-perl (1.12-2) ... 247s Selecting previously unselected package libemail-address-xs-perl. 247s Preparing to unpack .../100-libemail-address-xs-perl_1.05-1build2_amd64.deb ... 247s Unpacking libemail-address-xs-perl (1.05-1build2) ... 247s Selecting previously unselected package libexporter-tiny-perl. 247s Preparing to unpack .../101-libexporter-tiny-perl_1.006002-1_all.deb ... 247s Unpacking libexporter-tiny-perl (1.006002-1) ... 247s Selecting previously unselected package libextutils-config-perl. 247s Preparing to unpack .../102-libextutils-config-perl_0.008-4_all.deb ... 247s Unpacking libextutils-config-perl (0.008-4) ... 247s Selecting previously unselected package libextutils-helpers-perl. 247s Preparing to unpack .../103-libextutils-helpers-perl_0.026-4_all.deb ... 247s Unpacking libextutils-helpers-perl (0.026-4) ... 247s Selecting previously unselected package libextutils-installpaths-perl. 247s Preparing to unpack .../104-libextutils-installpaths-perl_0.012-1.1_all.deb ... 247s Unpacking libextutils-installpaths-perl (0.012-1.1) ... 247s Selecting previously unselected package libxs-parse-keyword-perl. 247s Preparing to unpack .../105-libxs-parse-keyword-perl_0.39-1build1_amd64.deb ... 247s Unpacking libxs-parse-keyword-perl (0.39-1build1) ... 247s Selecting previously unselected package libsyntax-keyword-try-perl. 247s Preparing to unpack .../106-libsyntax-keyword-try-perl_0.29-1build1_amd64.deb ... 247s Unpacking libsyntax-keyword-try-perl (0.29-1build1) ... 247s Selecting previously unselected package libfeature-compat-try-perl. 247s Preparing to unpack .../107-libfeature-compat-try-perl_0.05-1_all.deb ... 247s Unpacking libfeature-compat-try-perl (0.05-1) ... 247s Selecting previously unselected package libfile-copy-recursive-perl. 247s Preparing to unpack .../108-libfile-copy-recursive-perl_0.45-4_all.deb ... 247s Unpacking libfile-copy-recursive-perl (0.45-4) ... 247s Selecting previously unselected package libio-stringy-perl. 247s Preparing to unpack .../109-libio-stringy-perl_2.111-3_all.deb ... 247s Unpacking libio-stringy-perl (2.111-3) ... 247s Selecting previously unselected package libparams-validate-perl:amd64. 247s Preparing to unpack .../110-libparams-validate-perl_1.31-2build1_amd64.deb ... 247s Unpacking libparams-validate-perl:amd64 (1.31-2build1) ... 247s Selecting previously unselected package libgetopt-long-descriptive-perl. 247s Preparing to unpack .../111-libgetopt-long-descriptive-perl_0.111-1_all.deb ... 247s Unpacking libgetopt-long-descriptive-perl (0.111-1) ... 247s Selecting previously unselected package libimport-into-perl. 247s Preparing to unpack .../112-libimport-into-perl_1.002005-2_all.deb ... 247s Unpacking libimport-into-perl (1.002005-2) ... 247s Selecting previously unselected package libjs-popper.js. 247s Preparing to unpack .../113-libjs-popper.js_1.16.1+ds-6_all.deb ... 247s Unpacking libjs-popper.js (1.16.1+ds-6) ... 247s Selecting previously unselected package libjs-bootstrap4. 247s Preparing to unpack .../114-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 247s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 247s Selecting previously unselected package libjs-highlight.js. 247s Preparing to unpack .../115-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 247s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 247s Selecting previously unselected package libjs-jquery. 247s Preparing to unpack .../116-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 247s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 247s Selecting previously unselected package libjson-maybexs-perl. 247s Preparing to unpack .../117-libjson-maybexs-perl_1.004005-1_all.deb ... 247s Unpacking libjson-maybexs-perl (1.004005-1) ... 247s Selecting previously unselected package libjson-perl. 247s Preparing to unpack .../118-libjson-perl_4.10000-1_all.deb ... 247s Unpacking libjson-perl (4.10000-1) ... 247s Selecting previously unselected package libmojolicious-perl. 247s Preparing to unpack .../119-libmojolicious-perl_9.35+dfsg-1_all.deb ... 247s Unpacking libmojolicious-perl (9.35+dfsg-1) ... 248s Selecting previously unselected package libmoo-perl. 248s Preparing to unpack .../120-libmoo-perl_2.005005-1_all.deb ... 248s Unpacking libmoo-perl (2.005005-1) ... 248s Selecting previously unselected package libtype-tiny-perl. 248s Preparing to unpack .../121-libtype-tiny-perl_2.004000-1_all.deb ... 248s Unpacking libtype-tiny-perl (2.004000-1) ... 248s Selecting previously unselected package libmoox-typetiny-perl. 248s Preparing to unpack .../122-libmoox-typetiny-perl_0.002003-4_all.deb ... 248s Unpacking libmoox-typetiny-perl (0.002003-4) ... 248s Selecting previously unselected package libpath-tiny-perl. 248s Preparing to unpack .../123-libpath-tiny-perl_0.144-1_all.deb ... 248s Unpacking libpath-tiny-perl (0.144-1) ... 248s Selecting previously unselected package libref-util-perl. 248s Preparing to unpack .../124-libref-util-perl_0.204-2_all.deb ... 248s Unpacking libref-util-perl (0.204-2) ... 248s Selecting previously unselected package libsafe-isa-perl. 248s Preparing to unpack .../125-libsafe-isa-perl_1.000010-1_all.deb ... 248s Unpacking libsafe-isa-perl (1.000010-1) ... 248s Selecting previously unselected package libstrictures-perl. 248s Preparing to unpack .../126-libstrictures-perl_2.000006-1_all.deb ... 248s Unpacking libstrictures-perl (2.000006-1) ... 248s Selecting previously unselected package libjson-schema-modern-perl. 248s Preparing to unpack .../127-libjson-schema-modern-perl_0.582-1_all.deb ... 248s Unpacking libjson-schema-modern-perl (0.582-1) ... 248s Selecting previously unselected package libmodule-build-tiny-perl. 248s Preparing to unpack .../128-libmodule-build-tiny-perl_0.047-1_all.deb ... 248s Unpacking libmodule-build-tiny-perl (0.047-1) ... 248s Selecting previously unselected package libnet-idn-encode-perl. 248s Preparing to unpack .../129-libnet-idn-encode-perl_2.500-3build1_amd64.deb ... 248s Unpacking libnet-idn-encode-perl (2.500-3build1) ... 248s Selecting previously unselected package libpadwalker-perl. 248s Preparing to unpack .../130-libpadwalker-perl_2.5-1build4_amd64.deb ... 248s Unpacking libpadwalker-perl (2.5-1build4) ... 248s Selecting previously unselected package libscope-guard-perl. 248s Preparing to unpack .../131-libscope-guard-perl_0.21-2_all.deb ... 248s Unpacking libscope-guard-perl (0.21-2) ... 248s Selecting previously unselected package libsereal-decoder-perl. 248s Preparing to unpack .../132-libsereal-decoder-perl_5.004+ds-1build1_amd64.deb ... 248s Unpacking libsereal-decoder-perl (5.004+ds-1build1) ... 248s Selecting previously unselected package libsereal-encoder-perl. 248s Preparing to unpack .../133-libsereal-encoder-perl_5.004+ds-1build1_amd64.deb ... 248s Unpacking libsereal-encoder-perl (5.004+ds-1build1) ... 248s Selecting previously unselected package libterm-table-perl. 248s Preparing to unpack .../134-libterm-table-perl_0.018-1_all.deb ... 248s Unpacking libterm-table-perl (0.018-1) ... 248s Selecting previously unselected package libtest-deep-perl. 248s Preparing to unpack .../135-libtest-deep-perl_1.204-1_all.deb ... 248s Unpacking libtest-deep-perl (1.204-1) ... 248s Selecting previously unselected package libtest-deep-unorderedpairs-perl. 248s Preparing to unpack .../136-libtest-deep-unorderedpairs-perl_0.006-3_all.deb ... 248s Unpacking libtest-deep-unorderedpairs-perl (0.006-3) ... 248s Selecting previously unselected package libtest-fatal-perl. 248s Preparing to unpack .../137-libtest-fatal-perl_0.017-1_all.deb ... 248s Unpacking libtest-fatal-perl (0.017-1) ... 248s Selecting previously unselected package libtest-file-sharedir-perl. 248s Preparing to unpack .../138-libtest-file-sharedir-perl_1.001002-2_all.deb ... 248s Unpacking libtest-file-sharedir-perl (1.001002-2) ... 248s Selecting previously unselected package libtest2-suite-perl. 248s Preparing to unpack .../139-libtest2-suite-perl_0.000159-1_all.deb ... 248s Unpacking libtest2-suite-perl (0.000159-1) ... 248s Selecting previously unselected package libtest-json-schema-acceptance-perl. 248s Preparing to unpack .../140-libtest-json-schema-acceptance-perl_1.021-1_all.deb ... 248s Unpacking libtest-json-schema-acceptance-perl (1.021-1) ... 248s Selecting previously unselected package libtest-memory-cycle-perl. 248s Preparing to unpack .../141-libtest-memory-cycle-perl_1.06-2_all.deb ... 248s Unpacking libtest-memory-cycle-perl (1.06-2) ... 248s Selecting previously unselected package libtest-needs-perl. 248s Preparing to unpack .../142-libtest-needs-perl_0.002010-1_all.deb ... 248s Unpacking libtest-needs-perl (0.002010-1) ... 248s Selecting previously unselected package libtest-warnings-perl. 248s Preparing to unpack .../143-libtest-warnings-perl_0.033-1_all.deb ... 248s Unpacking libtest-warnings-perl (0.033-1) ... 248s Selecting previously unselected package libtest-without-module-perl. 248s Preparing to unpack .../144-libtest-without-module-perl_0.21-1_all.deb ... 248s Unpacking libtest-without-module-perl (0.21-1) ... 248s Selecting previously unselected package libtime-moment-perl. 248s Preparing to unpack .../145-libtime-moment-perl_0.44-2build2_amd64.deb ... 248s Unpacking libtime-moment-perl (0.44-2build2) ... 248s Selecting previously unselected package pkg-perl-autopkgtest. 248s Preparing to unpack .../146-pkg-perl-autopkgtest_0.77_all.deb ... 248s Unpacking pkg-perl-autopkgtest (0.77) ... 248s Setting up javascript-common (11+nmu1) ... 248s Setting up libdevel-cycle-perl (1.12-2) ... 248s Setting up libextutils-config-perl (0.008-4) ... 248s Setting up libdw1:amd64 (0.190-1) ... 248s Setting up libsafe-isa-perl (1.000010-1) ... 248s Setting up libextutils-helpers-perl (0.026-4) ... 249s Setting up libterm-table-perl (0.018-1) ... 249s Setting up libclass-inspector-perl (1.36-3) ... 249s Setting up libtest-without-module-perl (0.21-1) ... 249s Setting up libdynaloader-functions-perl (0.003-3) ... 249s Setting up libtest-deep-perl (1.204-1) ... 249s Setting up libclass-method-modifiers-perl (2.15-1) ... 249s Setting up libjs-popper.js (1.16.1+ds-6) ... 249s Setting up libnet-idn-encode-perl (2.500-3build1) ... 249s Setting up libarchive-zip-perl (1.68-1) ... 249s Setting up libsub-identify-perl (0.14-3build1) ... 249s Setting up libcpanel-json-xs-perl:amd64 (4.37-1build1) ... 249s Setting up libextutils-installpaths-perl (0.012-1.1) ... 249s Setting up libio-stringy-perl (2.111-3) ... 249s Setting up libdebhelper-perl (13.14.1ubuntu1) ... 249s Setting up libtry-tiny-perl (0.31-2) ... 249s Setting up libtest-warnings-perl (0.033-1) ... 249s Setting up libtest-fatal-perl (0.017-1) ... 249s Setting up linux-libc-dev:amd64 (6.8.0-11.11) ... 249s Setting up m4 (1.4.19-4) ... 249s Setting up libclass-singleton-perl (1.6-2) ... 249s Setting up libtime-moment-perl (0.44-2build2) ... 249s Setting up libpadwalker-perl (2.5-1build4) ... 249s Setting up libxstring-perl:amd64 (0.005-2build1) ... 249s Setting up libgomp1:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libsereal-encoder-perl (5.004+ds-1build1) ... 249s Setting up libsub-install-perl (0.929-1) ... 249s Setting up libtest2-suite-perl (0.000159-1) ... 249s Setting up libtest-needs-perl (0.002010-1) ... 249s Setting up libscope-guard-perl (0.21-2) ... 249s Setting up libfile-copy-recursive-perl (0.45-4) ... 249s Setting up libjson-maybexs-perl (1.004005-1) ... 249s Setting up libtest-memory-cycle-perl (1.06-2) ... 249s Setting up autotools-dev (20220109.1) ... 249s Setting up libclass-data-inheritable-perl (0.08-3) ... 249s Setting up libxs-parse-keyword-perl (0.39-1build1) ... 249s Setting up libalgorithm-c3-perl (0.11-2) ... 249s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 249s Setting up libclass-tiny-perl (1.008-2) ... 249s Setting up libtest-deep-unorderedpairs-perl (0.006-3) ... 249s Setting up libref-util-perl (0.204-2) ... 249s Setting up libnet-domain-tld-perl (1.75-3) ... 249s Setting up libquadmath0:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libmpc3:amd64 (1.3.1-1) ... 249s Setting up libatomic1:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libvariable-magic-perl (0.63-1build1) ... 249s Setting up autopoint (0.21-14ubuntu1) ... 249s Setting up libb-hooks-op-check-perl:amd64 (0.22-2build2) ... 249s Setting up libparams-util-perl (1.102-2build1) ... 249s Setting up autoconf (2.71-3) ... 249s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 249s Setting up libubsan1:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libsub-name-perl:amd64 (0.27-1build1) ... 249s Setting up libsyntax-keyword-try-perl (0.29-1build1) ... 249s Setting up dwz (0.15-1) ... 249s Setting up libdata-validate-domain-perl (0.10-1.1) ... 249s Setting up libcpan-meta-check-perl (0.017-1) ... 249s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 249s Setting up libhwasan0:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libcrypt-dev:amd64 (1:4.4.36-4) ... 249s Setting up libpath-tiny-perl (0.144-1) ... 249s Setting up libasan8:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libjson-perl (4.10000-1) ... 249s Setting up librole-tiny-perl (2.002004-1) ... 249s Setting up debugedit (1:5.0-5) ... 249s Setting up libfile-sharedir-perl (1.118-3) ... 249s Setting up libsub-override-perl (0.10-1) ... 249s Setting up libstrictures-perl (2.000006-1) ... 249s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 249s Setting up libdevel-stacktrace-perl (2.0500-1) ... 249s Setting up libclass-xsaccessor-perl (1.19-4build2) ... 249s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 249s Setting up libtsan2:amd64 (14-20240303-1ubuntu1) ... 249s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 249s Setting up libexporter-tiny-perl (1.006002-1) ... 249s Setting up libisl23:amd64 (0.26-3) ... 249s Setting up libc-dev-bin (2.39-0ubuntu6) ... 249s Setting up libsereal-decoder-perl (5.004+ds-1build1) ... 249s Setting up libcc1-0:amd64 (14-20240303-1ubuntu1) ... 249s Setting up liblsan0:amd64 (14-20240303-1ubuntu1) ... 249s Setting up dctrl-tools (2.24-3build2) ... 249s Setting up libitm1:amd64 (14-20240303-1ubuntu1) ... 249s Setting up autodep8 (0.28) ... 249s Setting up libemail-address-xs-perl (1.05-1build2) ... 249s Setting up automake (1:1.16.5-1.3ubuntu1) ... 249s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 249s Setting up libmodule-build-tiny-perl (0.047-1) ... 249s Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... 249s Setting up gettext (0.21-14ubuntu1) ... 249s Setting up libfeature-compat-try-perl (0.05-1) ... 249s Setting up cpp-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 249s Setting up libmojolicious-perl (9.35+dfsg-1) ... 249s Setting up libtype-tiny-perl (2.004000-1) ... 249s Setting up libexception-class-perl (1.45-1) ... 249s Setting up libclass-c3-perl (0.35-2) ... 249s Setting up libdevel-callchecker-perl:amd64 (0.008-2build1) ... 249s Setting up intltool-debian (0.35.0+20060710.6) ... 249s Setting up libtest-file-sharedir-perl (1.001002-2) ... 249s Setting up libdata-optlist-perl (0.114-1) ... 249s Setting up pkg-perl-autopkgtest (0.77) ... 249s Setting up dh-strip-nondeterminism (1.13.1-1) ... 249s Setting up libgcc-13-dev:amd64 (13.2.0-17ubuntu2) ... 249s Setting up libc6-dev:amd64 (2.39-0ubuntu6) ... 249s Setting up libmro-compat-perl (0.15-2) ... 249s Setting up libstdc++-13-dev:amd64 (13.2.0-17ubuntu2) ... 249s Setting up libsub-exporter-perl (0.990-1) ... 249s Setting up libeval-closure-perl (0.14-3) ... 249s Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 249s Setting up libparams-validationcompiler-perl (0.31-1) ... 249s Setting up cpp-13 (13.2.0-17ubuntu2) ... 249s Setting up gcc-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 249s Setting up po-debconf (1.0.21+nmu1) ... 249s Setting up libparams-classify-perl:amd64 (0.015-2build3) ... 249s Setting up libmodule-runtime-perl (0.016-2) ... 249s Setting up gcc-13 (13.2.0-17ubuntu2) ... 249s Setting up cpp (4:13.2.0-7ubuntu1) ... 249s Setting up g++-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 249s Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 249s Setting up libtool (2.4.7-7) ... 249s Setting up libmodule-implementation-perl (0.09-2) ... 249s Setting up libpackage-stash-perl (0.40-1) ... 249s Setting up libimport-into-perl (1.002005-2) ... 249s Setting up libmoo-perl (2.005005-1) ... 249s Setting up gcc (4:13.2.0-7ubuntu1) ... 249s Setting up dh-autoreconf (20) ... 249s Setting up libspecio-perl (0.48-1) ... 249s Setting up g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 249s Setting up libmoox-typetiny-perl (0.002003-4) ... 249s Setting up libparams-validate-perl:amd64 (1.31-2build1) ... 249s Setting up libb-hooks-endofscope-perl (0.28-1) ... 249s Setting up g++-13 (13.2.0-17ubuntu2) ... 249s Setting up debhelper (13.14.1ubuntu1) ... 249s Setting up libnamespace-clean-perl (0.27-2) ... 249s Setting up libgetopt-long-descriptive-perl (0.111-1) ... 249s Setting up g++ (4:13.2.0-7ubuntu1) ... 249s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 249s Setting up libtest-json-schema-acceptance-perl (1.021-1) ... 249s Setting up build-essential (12.10ubuntu1) ... 249s Setting up libnamespace-autoclean-perl (0.29-2) ... 249s Setting up libdatetime-locale-perl (1:1.37-1) ... 249s Setting up libdatetime-timezone-perl (1:2.62-1+2024a) ... 249s Setting up libjson-schema-modern-perl (0.582-1) ... 249s Setting up libdatetime-perl (2:1.65-1) ... 249s Setting up libdatetime-format-rfc3339-perl (1.8.0-1) ... 249s Processing triggers for install-info (7.1-3) ... 249s Processing triggers for libc-bin (2.39-0ubuntu6) ... 249s Processing triggers for man-db (2.12.0-3) ... 252s Reading package lists... 252s Building dependency tree... 252s Reading state information... 252s Starting pkgProblemResolver with broken count: 0 252s Starting 2 pkgProblemResolver with broken count: 0 252s Done 253s The following NEW packages will be installed: 253s autopkgtest-satdep 253s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 253s Need to get 0 B/696 B of archives. 253s After this operation, 0 B of additional disk space will be used. 253s Get:1 /tmp/autopkgtest.YgRYGQ/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [696 B] 253s Selecting previously unselected package autopkgtest-satdep. 253s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81236 files and directories currently installed.) 253s Preparing to unpack .../2-autopkgtest-satdep.deb ... 253s Unpacking autopkgtest-satdep (0) ... 253s Setting up autopkgtest-satdep (0) ... 254s (Reading database ... 81236 files and directories currently installed.) 254s Removing autopkgtest-satdep (0) ... 255s autopkgtest [11:41:11]: test autodep8-perl-build-deps: /usr/share/pkg-perl-autopkgtest/runner build-deps 255s autopkgtest [11:41:11]: test autodep8-perl-build-deps: [----------------------- 255s t/00-report-prereqs.t ................... 255s 1..1 255s # 255s # Versions for all modules listed in static metadata (including optional ones): 255s # 255s # === Configure Requires === 255s # 255s # Module Want Have 255s # ------------------- ----- -------- 255s # Module::Build::Tiny 0.034 0.047 255s # perl 5.020 5.038002 255s # 255s # === Test Requires === 255s # 255s # Module Want Have 255s # ------------------------------ ------- -------- 255s # CPAN::Meta::Check 0.011 0.017 255s # CPAN::Meta::Requirements any 2.140 255s # Data::Dumper any 2.188 255s # File::Spec any 3.88 255s # IPC::Open3 any 1.22 255s # Math::BigInt any 1.999837 255s # Module::Metadata any 1.000037 255s # Test2::V0 any 0.000159 255s # Test::Deep any 1.204 255s # Test::Deep::UnorderedPairs any 0.006 255s # Test::Fatal any 0.017 255s # Test::File::ShareDir any 1.001002 255s # Test::JSON::Schema::Acceptance 1.021 1.021 255s # Test::Memory::Cycle any 1.06 255s # Test::More 0.96 1.302194 255s # Test::Needs any 0.002010 255s # Test::Warnings any 0.033 255s # Test::Without::Module 0.21 0.21 255s # lib any 0.65 255s # perl v5.20.0 5.038002 255s # utf8 any 1.25 255s # 255s # === Test Recommends === 255s # 255s # Module Want Have 255s # ---------- -------- -------- 255s # CPAN::Meta 2.120900 2.150010 255s # 255s # === Runtime Requires === 255s # 255s # Module Want Have 255s # ------------------------- -------- -------- 255s # B any 1.88 255s # Carp any 1.54 255s # Digest::MD5 any 2.58_01 255s # Exporter any 5.77 255s # Feature::Compat::Try any 0.05 255s # File::ShareDir any 1.118 255s # Getopt::Long::Descriptive any 0.111 255s # JSON::PP any 4.16 255s # List::Util 1.55 1.63 255s # MIME::Base64 any 3.16_01 255s # Math::BigFloat any 1.999837 255s # Module::Runtime any 0.016 255s # Mojo::JSON any undef 255s # Mojo::JSON::Pointer any undef 255s # Mojo::URL any undef 255s # Mojolicious 7.87 9.35 255s # Moo any 2.005005 255s # Moo::Role any 2.005005 255s # MooX::TypeTiny 0.002002 0.002003 255s # Path::Tiny any 0.144 255s # Ref::Util 0.100 0.204 255s # Safe::Isa 1.000008 1.000010 255s # Scalar::Util any 1.63 255s # Storable any 3.32 255s # Sub::Install any 0.929 255s # Types::Common::Numeric any 2.004000 255s # Types::Standard 1.016003 2.004000 255s # constant any 1.33 255s # experimental 0.026 0.031 255s # if any 0.0610 255s # namespace::clean any 0.27 255s # open any 1.13 255s # overload any 1.37 255s # perl v5.20.0 5.038002 255s # stable 0.031 0.031 255s # strict any 1.12 255s # strictures 2 2.000006 255s # warnings any 1.65 255s # 255s # === Runtime Suggests === 255s # 255s # Module Want Have 255s # ------------------------- ---- ------- 255s # Class::XSAccessor any 1.19 255s # Cpanel::JSON::XS any 4.37 255s # Data::Validate::Domain any 0.10 255s # DateTime::Format::RFC3339 any v1.8.0 255s # Email::Address::XS 1.04 1.05 255s # Net::IDN::Encode any 2.500 255s # Ref::Util::XS any missing 255s # Time::Moment any 0.44 255s # Type::Tiny::XS any missing 255s # 255s # === Other Modules === 255s # 255s # Module Have 255s # ---------------- -------- 255s # Cpanel::JSON::XS 4.37 255s # Encode 3.19 255s # File::Temp 0.2311 255s # JSON::PP 4.16 255s # JSON::XS missing 255s # Math::BigFloat 1.999837 255s # Math::BigInt 1.999837 255s # Module::Runtime 0.016 255s # Mojolicious 9.35 255s # Pod::Coverage missing 255s # Sereal::Decoder 5.004 255s # Sereal::Encoder 5.004 255s # Sub::Name 0.27 255s # YAML missing 255s # autodie 2.36 255s # 255s ok 1 - Reported prereqs 255s ok 256s t/add-schema.t .......................... 256s # Subtest: evaluate a document 256s ok 1 - evaluate a Document object 256s ok 2 - resource index from the document is copied to the main object 256s ok 3 - evaluate a Document object again without error 256s 1..3 256s ok 1 - evaluate a document 256s # Subtest: evaluate a uri 256s ok 1 - evaluate with a uri that is not yet loaded 256s ok 2 - the metaschema is now loaded and its resources are indexed 256s ok 3 - evaluate against the metaschema again 256s ok 4 - evaluate against the a subschema of the metaschema 256s ok 5 - evaluate against the a fragment of the metaschema that does not exist 256s ok 6 - evaluate against the a plain-name fragment of the metaschema that does not exist 256s 1..6 256s ok 2 - evaluate a uri 256s # Subtest: add a uri resource 256s ok 1 - added the metaschema by uri 256s ok 2 - attempt to add a resource that does not exist 256s ok 3 - ->get in scalar context on a URI to the head of a document 256s ok 4 - get() did not return a reference to the original data 256s ok 5 - ->get in list context on a URI to the head of a document 256s ok 6 - ->get in scalar context on a URI to inside of a document 256s ok 7 - ->get in list context on a URI to inside of a document 256s 1..7 256s ok 3 - add a uri resource 256s # Subtest: add a schema associated with a uri 256s ok 1 - cannot use a uri with a fragment 256s ok 2 - added the schema data with an associated uri 256s ok 3 - can now evaluate using a uri to a subschema of a resource we loaded earlier 256s ok 4 - can also evaluate using a non-canonical uri 256s ok 5 - can add the same document and associate it with another schema 256s ok 6 - now the document is available as all three uris 256s 1..6 256s ok 4 - add a schema associated with a uri 256s # Subtest: add a document without associating it with a uri 256s ok 1 - added the document without an associated uri 256s ok 2 - document only added under its canonical uri 256s 1..2 256s ok 5 - add a document without associating it with a uri 256s # Subtest: add a schema without a uri 256s ok 1 - added the schema data without an associated uri 256s ok 2 - document only added under its canonical uri 256s 1..2 256s ok 6 - add a schema without a uri 256s # Subtest: $ref to non-canonical uri 256s ok 1 - errors use the canonical uri, not the uri used to evaluate against 256s ok 2 - non-canonical uri is not used to resolve inner $id keywords 256s ok 3 - the canonical uri is updated when use the canonical uri, not the uri used to evaluate against 256s ok 4 - canonical_uri is not always what was in the $ref, even when no local $id is present 256s ok 5 - canonical_uri fragment also needs to be adjusted 256s ok 6 - canonical_uri starts out containing a fragment and can be appended to during traversal 256s 1..6 256s ok 7 - $ref to non-canonical uri 256s # Subtest: register a document against multiple uris; do not allow duplicate uris 256s ok 1 - resource index from the document is copied to the main object 256s ok 2 - add a secondary uri for the same document 256s ok 3 - secondary uri not also added to the document 256s ok 4 - cannot call add_schema with the same URI as for another schema 256s ok 5 - cannot reuse the same $id in another document 256s ok 6 - resource index remains unchanged after erroneous add_schema calls 256s ok 7 - adding the same schema *content* again does not fail, and returns the original document object 256s ok 8 - original document remains unchanged - the new uri was not added to it 256s ok 9 - new uri was added against the original document (no new document created) 256s ok 10 - ->get in scalar context on a secondary URI with a plain-name fragment 256s ok 11 - ->get in list context on a URI with a plain-name fragment includes the canonical uri 256s ok 12 - ->get in scalar context for a nonexistent resource returns undef 256s ok 13 - ->get in list context for a nonexistent resource returns empty list 256s 1..13 256s ok 8 - register a document against multiple uris; do not allow duplicate uris 256s # Subtest: external resource with externally-supplied uri; main resource with multiple uris 256s ok 1 - all uris in result are correct, using secondary uri as the target 256s ok 2 - all uris in result are correct, using main uri as the target 256s ok 3 - all uris in result are correct, using the literal schema as the target 256s 1..3 256s ok 9 - external resource with externally-supplied uri; main resource with multiple uris 256s # Subtest: document with no canonical URI, but assigned a URI through add_schema 256s ok 1 - evaluate a schema referencing a document given an ad-hoc uri 256s ok 2 - adding a uri to an existing document does not change its canonical uri 256s 1..2 256s ok 10 - document with no canonical URI, but assigned a URI through add_schema 256s 1..10 256s ok 260s t/additional-tests-draft2019-09.t ....... 260s # AUTHOR_TESTING: 260s # AUTOMATED_TESTING: 1 260s # EXTENDED_TESTING: 260s # NO_TODO: 260s # TEST_DIR: 260s # NO_SHORT_CIRCUIT: 260s # 260s # running tests in /tmp/autopkgtest.YgRYGQ/autopkgtest_tmp/smokeZ9x1T4/t/additional-tests-draft2019-09 against draft2019-09... 260s # 260s ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/const" 260s # }, 260s # { 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/const" 260s # }, 260s # { 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/bar", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/bar", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/bar", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/bar", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/foo", 260s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "no subschemas are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/foo", 260s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "no subschemas are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/foo", 260s # "keywordLocation": "/allOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/foo", 260s # "keywordLocation": "/allOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/not" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/not" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 13 - badRef.json: "good references in schemas" - "this data is never used" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/then/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/then/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/then/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/then/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 16 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 17 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/0/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/1/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/2/const" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/3/enum" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 260s # "error": "no subschemas are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/0/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/1/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/2/const" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf/3/enum" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 260s # "error": "no subschemas are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/anyOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 18 - format-duration.json: "validation of duration strings" - "years and months can appear without days" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 19 - format-duration.json: "validation of duration strings" - "months and days can appear without years" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 20 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 21 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 22 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 23 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 24 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 25 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 26 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 27 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 28 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 29 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 30 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv4", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 31 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 32 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 33 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 34 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 35 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 36 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 37 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 38 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 39 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 40 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 41 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 42 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 43 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 44 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 45 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 46 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid ipv6", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 48 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 49 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 50 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 51 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 52 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 53 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 54 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid relative-json-pointer", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 55 - formats.json: "format validation after a $ref" - "invalid duration" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/my_format/format", 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/my_format/format", 260s # "error": "not a valid duration", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 56 - formats.json: "format validation after a $ref" - "valid duration" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 57 - formats.json: "format validation after an $id" - "invalid duration" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 260s # "error": "not a valid duration", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/allOf/0/format" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "bloop#/allOf", 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/allOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 260s # "error": "not a valid duration", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/allOf/0/format" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "bloop#/allOf", 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/allOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 58 - formats.json: "format validation after an $id" - "valid duration" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s # 260s ok 59 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 60 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/const" 260s # }, 260s # { 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/const" 260s # }, 260s # { 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 61 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 62 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 63 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 64 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$id cannot be empty", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$id" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 65 - integers.json: "type checks" - "beyond int64 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 66 - integers.json: "type checks" - "int64 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 67 - integers.json: "type checks" - "beyond int32 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 68 - integers.json: "type checks" - "int32 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 69 - integers.json: "type checks" - "zero" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 70 - integers.json: "type checks" - "int32 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 71 - integers.json: "type checks" - "beyond int32 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 72 - integers.json: "type checks" - "upper int64 boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 73 - integers.json: "type checks" - "beyond int64 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 74 - integers.json: "int32 range checks" - "beyond lower boundary" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than -2147483648", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than -2147483648", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 75 - integers.json: "int32 range checks" - "lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 76 - integers.json: "int32 range checks" - "zero" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 77 - integers.json: "int32 range checks" - "upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 78 - integers.json: "int32 range checks" - "beyond upper boundary" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2147483647", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2147483647", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 79 - integers.json: "int64 range checks" - "beyond lower boundary" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than -9223372036854775808", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than -9223372036854775808", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 80 - integers.json: "int64 range checks" - "lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 81 - integers.json: "int64 range checks" - "zero" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 82 - integers.json: "int64 range checks" - "upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 83 - integers.json: "int64 range checks" - "beyond upper boundary" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 9223372036854775807", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 9223372036854775807", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 84 - integers.json: "equality checks" - "beyond int64 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 85 - integers.json: "equality checks" - "int64 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 86 - integers.json: "equality checks" - "beyond int32 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 87 - integers.json: "equality checks" - "int32 lower boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 88 - integers.json: "equality checks" - "zero" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 89 - integers.json: "equality checks" - "one" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/enum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/enum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 90 - integers.json: "equality checks" - "int32 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 91 - integers.json: "equality checks" - "beyond int32 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 92 - integers.json: "equality checks" - "int64 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 93 - integers.json: "equality checks" - "beyond int64 upper boundary" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s # 260s ok 94 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 95 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 96 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 97 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 98 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 99 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 100 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 101 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 102 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 103 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 104 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 105 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 106 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 107 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 108 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 109 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 110 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 111 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 112 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 113 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 114 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 115 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 116 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 117 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 118 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 119 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 120 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 121 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 122 - keyword-independence.json: "items + maximum" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 123 - keyword-independence.json: "items + maximum" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 124 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 125 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 126 - keyword-independence.json: "items + minimum" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 127 - keyword-independence.json: "items + minimum" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 128 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 129 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 130 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 131 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 132 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 133 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 134 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 135 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 136 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 137 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 138 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 139 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 140 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 141 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 142 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 143 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 144 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 145 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 146 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 147 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 148 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 149 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 150 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 151 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 152 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 153 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 154 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 155 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 156 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 157 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 158 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 159 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 160 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 161 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 162 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 163 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 164 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 165 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 166 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 167 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 168 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 169 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 170 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 171 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 172 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 173 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 174 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 175 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 176 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 177 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 178 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 179 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 180 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 181 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 182 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 183 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 184 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 185 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 186 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 187 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 188 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 189 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 190 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 191 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 192 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 193 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 194 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 195 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 196 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 197 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 198 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 199 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 200 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 201 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 202 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 203 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 204 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 205 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 206 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 207 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 208 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 209 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 210 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 211 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 212 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 213 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 214 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 215 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 216 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 217 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 218 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 219 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 220 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 221 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 222 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 223 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 224 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 225 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 226 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 227 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 228 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 229 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 230 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 231 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 232 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 233 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 234 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 235 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 236 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 237 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 238 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 239 - keyword-independence.json: "contains + properties" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 240 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 241 - keyword-independence.json: "contains + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 242 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 243 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 244 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 245 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 246 - keyword-independence.json: "contains + required" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 247 - keyword-independence.json: "contains + required" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 248 - keyword-independence.json: "contains + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 249 - keyword-independence.json: "contains + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 250 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 251 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 252 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 253 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 254 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 255 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 256 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 257 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 258 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 259 - keyword-independence.json: "dependentRequired + items" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 260 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 261 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 262 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 263 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 264 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 265 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 266 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 267 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 268 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 269 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 270 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 271 - keyword-independence.json: "items + minProperties" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 272 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 273 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 274 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 275 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 276 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 277 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 278 - keyword-independence.json: "items + properties" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 279 - keyword-independence.json: "items + properties" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 280 - keyword-independence.json: "items + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 281 - keyword-independence.json: "items + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 282 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 283 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 284 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 285 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 286 - keyword-independence.json: "items + required" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 287 - keyword-independence.json: "items + required" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 288 - keyword-independence.json: "items + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 289 - keyword-independence.json: "items + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 290 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 291 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 292 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 293 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 294 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 295 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 296 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 297 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 298 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 299 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 300 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 301 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 302 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 303 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 304 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 305 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 306 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 307 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 308 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 309 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 310 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 311 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 312 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 313 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 314 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 315 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 316 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 317 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 318 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 319 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 320 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 321 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 322 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 323 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 324 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 325 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 326 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 327 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 328 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 329 - keyword-independence.json: "maxItems + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 330 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 331 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 332 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 333 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 334 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 335 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 336 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 337 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 338 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 339 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 340 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 341 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 342 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 343 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 344 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 345 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 346 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 347 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 348 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 349 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 350 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 351 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 352 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 353 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 354 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 355 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 356 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 357 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 358 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 359 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 360 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 361 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 362 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 363 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 364 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 365 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 366 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 367 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 368 - keyword-independence.json: "minItems + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 369 - keyword-independence.json: "minItems + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 370 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 371 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 372 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 373 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 374 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 375 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 376 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 377 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 378 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 379 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 380 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 381 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 382 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 383 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 384 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 385 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 386 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 387 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 388 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 389 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 390 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 391 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 392 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 393 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 394 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 395 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 396 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 397 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 398 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 399 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 400 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 401 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 402 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 403 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 404 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 405 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 406 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 407 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 408 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 409 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 410 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 411 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 412 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 413 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 414 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 415 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 416 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 417 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 418 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 419 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 420 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 421 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 422 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 423 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 424 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 425 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 426 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 427 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 428 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 429 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 430 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 431 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 432 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 433 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 434 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 435 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 436 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 437 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 438 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 439 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 440 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 441 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 442 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 443 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 444 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 445 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 446 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 447 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 448 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 449 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 450 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 451 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 452 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 453 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 454 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 455 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 456 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 457 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 458 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 459 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 460 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 461 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 462 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is not valid against any item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/contains" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 463 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 464 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 465 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 466 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 467 - keyword-independence.json: "items + maxLength" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 468 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 469 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 470 - keyword-independence.json: "items + minLength" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 471 - keyword-independence.json: "items + minLength" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 472 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 473 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 474 - keyword-independence.json: "items + pattern" - "array, items invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/items/0" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 475 - keyword-independence.json: "items + pattern" - "array, items valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 476 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 477 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 478 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 479 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 480 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 481 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 482 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 483 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 484 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 485 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 486 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has more than 1 item", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 487 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 488 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 489 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 490 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 491 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 492 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 493 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 494 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 495 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 496 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 497 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 498 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "array has fewer than 2 items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 499 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 500 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 501 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 502 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 503 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 504 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 505 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 506 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 507 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 508 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 509 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 510 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional item not permitted", 260s # "instanceLocation": "/0", 260s # "keywordLocation": "/unevaluatedItems" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 511 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 512 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 513 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 514 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 515 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 516 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 517 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 518 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 519 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 520 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 521 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 522 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "items at indices 0 and 1 are not unique", 260s # "instanceLocation": "", 260s # "keywordLocation": "/uniqueItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 523 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 524 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 525 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 526 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 527 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 528 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 529 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 530 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 531 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 532 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 533 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 534 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 535 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 536 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 537 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 538 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 539 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 540 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 541 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 542 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 543 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 544 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 545 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 546 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 547 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 548 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 549 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 550 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 551 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 552 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 553 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 554 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 555 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 556 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 557 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 558 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 559 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 560 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 561 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 562 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 563 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 564 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 565 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 566 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 567 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 568 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 569 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 570 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 571 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 572 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 573 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 574 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 575 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 576 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 577 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 578 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 579 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 580 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 581 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 582 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 583 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 584 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 585 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 586 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 587 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 588 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 589 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 590 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 591 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 592 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 593 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 594 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 595 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 596 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 597 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 598 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 599 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 600 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 601 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 602 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 603 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 604 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 605 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 606 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 607 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 608 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 609 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 610 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 611 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 612 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 613 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 614 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 615 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 616 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 617 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 618 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 619 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 620 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 621 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 622 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 623 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 624 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 625 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 626 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 627 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 628 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 629 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 630 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 631 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 632 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 633 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 634 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 635 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 636 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 637 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 638 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 639 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 640 - keyword-independence.json: "maximum + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 641 - keyword-independence.json: "maximum + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 642 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 643 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 644 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 645 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 646 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 647 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 648 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 649 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 650 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 651 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 652 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 653 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 654 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 655 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 656 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 657 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 658 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 659 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 660 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 661 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 662 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 663 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 664 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 665 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 666 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 667 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 668 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 669 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 670 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 671 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 672 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 673 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 674 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 675 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 676 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 677 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 678 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 679 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 680 - keyword-independence.json: "minimum + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 681 - keyword-independence.json: "minimum + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 682 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 683 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 684 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 685 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 686 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 687 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 688 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 689 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 690 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 691 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 692 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 693 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 694 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 695 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 696 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 697 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 698 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 699 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 700 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 701 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 702 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 703 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 704 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 705 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 706 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 707 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 708 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 709 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 710 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 711 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 712 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 713 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 714 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 715 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 716 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 717 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 718 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 719 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 720 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 721 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 722 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 723 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 724 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 725 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 726 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 727 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 728 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 729 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 730 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 731 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 732 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 733 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 734 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMaximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 735 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 736 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 737 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 738 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 739 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 740 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 741 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 742 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 743 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 744 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 745 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 746 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is equal to or smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/exclusiveMinimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 747 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 748 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 749 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 750 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 751 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 752 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 753 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 754 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 755 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 756 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 757 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 758 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is larger than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 759 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 760 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 761 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 762 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 763 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 764 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 765 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 766 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 767 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 768 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 769 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 770 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is smaller than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minimum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 771 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 772 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 773 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 774 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 775 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 776 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 777 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 778 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 779 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 780 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 781 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 782 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/multipleOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 783 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 784 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 785 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 786 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 787 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 788 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 789 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 790 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 791 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 792 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 793 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 794 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/additionalProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 795 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 796 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 797 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 798 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 799 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 800 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 801 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 802 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 803 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 804 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 805 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 806 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: y", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentRequired" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 807 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 808 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 809 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 810 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 811 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 812 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 813 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 814 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 815 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 816 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 817 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 818 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas/x" 260s # }, 260s # { 260s # "error": "not all dependencies are satisfied", 260s # "instanceLocation": "", 260s # "keywordLocation": "/dependentSchemas" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 819 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 820 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 821 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 822 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 823 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 824 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 825 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 826 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 827 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 828 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 829 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 830 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has more than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 831 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 832 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 833 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 834 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 835 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 836 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 837 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 838 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 839 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 840 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 841 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 842 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object has fewer than 1 property", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 843 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 844 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 845 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 846 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 847 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 848 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 849 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 850 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 851 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 852 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 853 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 854 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/no", 260s # "keywordLocation": "/patternProperties/no" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 855 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 856 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 857 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 858 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 859 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 860 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 861 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 862 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 863 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 864 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 865 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 866 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/properties/x" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 867 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 868 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 869 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 870 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 871 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 872 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 873 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 874 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 875 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 876 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 877 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 878 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "subschema is false", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/propertyNames" 260s # }, 260s # { 260s # "error": "not all property names are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/propertyNames" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 879 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 880 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 881 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 882 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 883 - keyword-independence.json: "maxLength + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 884 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 885 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 886 - keyword-independence.json: "minLength + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 887 - keyword-independence.json: "minLength + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 888 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 889 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 890 - keyword-independence.json: "pattern + required" - "object, required invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "object is missing property: x", 260s # "instanceLocation": "", 260s # "keywordLocation": "/required" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 891 - keyword-independence.json: "pattern + required" - "object, required valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 892 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 893 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 894 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 895 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 896 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is greater than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/maxLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 897 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 898 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 899 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 900 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "length is less than 2", 260s # "instanceLocation": "", 260s # "keywordLocation": "/minLength" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 901 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 902 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "additional property not permitted", 260s # "instanceLocation": "/x", 260s # "keywordLocation": "/unevaluatedProperties" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 903 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 904 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "pattern does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/pattern" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 905 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s # 260s ok 906 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/const_string", 260s # "keywordLocation": "/properties/const_string/const" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/const_string", 260s # "keywordLocation": "/properties/const_string/const" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 907 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 908 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 909 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/const_number", 260s # "keywordLocation": "/properties/const_number/const" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/const_number", 260s # "keywordLocation": "/properties/const_number/const" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 910 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/enum_string", 260s # "keywordLocation": "/properties/enum_string/enum" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/enum_string", 260s # "keywordLocation": "/properties/enum_string/enum" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 911 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 912 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 913 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/enum_number", 260s # "keywordLocation": "/properties/enum_number/enum" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "/enum_number", 260s # "keywordLocation": "/properties/enum_number/enum" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 914 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 915 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "integerNode.json#/type", 260s # "error": "got number, not one of object, integer", 260s # "instanceLocation": "/november", 260s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/additionalProperties" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "main.json#/else", 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "integerNode.json#/type", 260s # "error": "got number, not one of object, integer", 260s # "instanceLocation": "/november", 260s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else/$ref/additionalProperties" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "main.json#/else", 260s # "error": "subschema is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/else" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 916 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a true schema" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 917 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a false schema" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/false", 260s # "error": "subschema is false", 260s # "instanceLocation": "/false", 260s # "keywordLocation": "/properties/false/$recursiveRef" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "#/$defs/false", 260s # "error": "subschema is false", 260s # "instanceLocation": "/false", 260s # "keywordLocation": "/properties/false/$recursiveRef" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 918 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is valid against first definition" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 919 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is invalid against first definition" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 920 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is valid against first definition" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 921 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is invalid against first definition" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 922 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is valid against innermost type check" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 923 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is invalid against innermost type check" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 260s # "error": "got string, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/$ref/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 260s # "error": "got string, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/oneOf/0/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf", 260s # "error": "no subschemas are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/oneOf" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 260s # "error": "got string, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf/0/$ref/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 260s # "error": "subschema 0 is not valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/allOf" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 924 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 925 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 926 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 927 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 260s # "error": "value is larger than 10", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$ref/maximum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 928 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/enum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value does not match", 260s # "instanceLocation": "", 260s # "keywordLocation": "/enum" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 929 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 930 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$defs/foo/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$defs/foo/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 931 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$defs/foo/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "$ref value is not a valid URI reference", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$defs/foo/$ref" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 932 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 933 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "/list/0", 260s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "/list", 260s # "keywordLocation": "/properties/list/$ref/items" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 260s # "error": "got string, not integer", 260s # "instanceLocation": "/list/0", 260s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "/list", 260s # "keywordLocation": "/properties/list/$ref/items" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 934 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 935 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/items/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/items/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 936 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 937 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/items/1/multipleOf" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/items/1/multipleOf" 260s # }, 260s # { 260s # "error": "not all items are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/items" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 938 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 939 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/2", 260s # "keywordLocation": "/additionalItems/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/2", 260s # "keywordLocation": "/additionalItems/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 940 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 941 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/unevaluatedItems/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/1", 260s # "keywordLocation": "/unevaluatedItems/multipleOf" 260s # }, 260s # { 260s # "error": "subschema is not valid against all additional items", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedItems" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 942 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 943 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/properties/beta/multipleOf" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/properties/beta/multipleOf" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 944 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 945 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/properties/beta" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/properties/beta" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/properties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 946 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 947 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/patternProperties/^b/multipleOf" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/patternProperties/^b/multipleOf" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 948 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 949 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/patternProperties/^b" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "property not permitted", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/patternProperties/^b" 260s # }, 260s # { 260s # "error": "not all properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/patternProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 950 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 951 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/additionalProperties/multipleOf" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/additionalProperties/multipleOf" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/additionalProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 952 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 953 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/unevaluatedProperties/multipleOf" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "value is not a multiple of 2", 260s # "instanceLocation": "/beta", 260s # "keywordLocation": "/unevaluatedProperties/multipleOf" 260s # }, 260s # { 260s # "error": "not all additional properties are valid", 260s # "instanceLocation": "", 260s # "keywordLocation": "/unevaluatedProperties" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 954 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 955 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "got string, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "got string, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 956 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "got object, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "got object, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 957 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "got array, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "got array, not number", 260s # "instanceLocation": "", 260s # "keywordLocation": "/type" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 958 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 959 - vocabulary.json: "invalid $vocabulary (wrong specification version), but not until we evaluate with this metaschema" - "invalid $vocabulary (wrong specification version): register this metaschema" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 960 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core", 260s # "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 260s # "error": "the first vocabulary (by evaluation_order) must be Core", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary" 260s # }, 260s # { 260s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core", 260s # "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core" 260s # }, 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 260s # "error": "the first vocabulary (by evaluation_order) must be Core", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary" 260s # }, 260s # { 260s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 961 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 962 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" { 260s # result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 260s # "error": "\"https://foo.com\" is not a known vocabulary", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 260s # }, 260s # { 260s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 260s # "error": "\"https://foo.com\" is not a known vocabulary", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 260s # }, 260s # { 260s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 260s # "instanceLocation": "", 260s # "keywordLocation": "/$schema" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 963 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 964 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 965 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date-time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date-time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 966 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date-time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date-time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 967 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid date", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s ok 968 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 969 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 970 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 971 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 972 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 973 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 974 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 975 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 976 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 260s # result: { 260s # "valid": true 260s # } 260s # short-circuited result: { 260s # "valid": true 260s # } 260s ok 1 - test passes: data is valid: true 260s 1..1 260s } 260s ok 977 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 978 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 979 - optional/format-time.json: "validation of time strings" - "no time offset" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s ok 980 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 260s # result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s # short-circuited result: { 260s # "errors": [ 260s # { 260s # "error": "not a valid time", 260s # "instanceLocation": "", 260s # "keywordLocation": "/format" 260s # } 260s # ], 260s # "valid": false 260s # } 260s ok 1 - test passes: data is valid: false 260s 1..1 260s } 260s # 260s # 260s # Results using Test::JSON::Schema::Acceptance 1.021 260s # specification version: draft2019-09 260s # using custom test directory: t/additional-tests-draft2019-09 260s # optional tests included: yes 260s # 260s # filename pass todo-fail fail 260s # --------------------------------------------------------------- 260s # anchor.json 2 0 0 260s # annotation-collection.json 10 0 0 260s # badRef.json 3 0 0 260s # faux-buggy-schemas.json 2 0 0 260s # format-duration.json 9 0 0 260s # format-ipv4.json 4 0 0 260s # format-ipv6.json 17 0 0 260s # format-relative-json-pointer.json 7 0 0 260s # formats.json 4 0 0 260s # id.json 6 0 0 260s # integers.json 29 0 0 260s # keyword-independence.json 812 0 0 260s # loose-types-const-enum.json 8 0 0 260s # recursive-dynamic.json 4 0 0 260s # ref-and-id.json 6 0 0 260s # ref.json 10 0 0 260s # short-circuit.json 20 0 0 260s # unknownKeyword.json 4 0 0 260s # vocabulary.json 5 0 0 260s # optional/format-date-time.json 4 0 0 260s # optional/format-date.json 1 0 0 260s # optional/format-time.json 13 0 0 260s # --------------------------------------------------------------- 260s # TOTAL 980 0 0 260s # 260s # Congratulations, all non-optional tests are passing! 260s # 260s ok 981 - no leaks in the main evaluator object 260s ok 982 - no leaks in the short-circuiting evaluator object 260s ok 983 - got unsupported keyword warnings 260s 1..983 260s ok 265s t/additional-tests-draft2020-12.t ....... 265s # AUTHOR_TESTING: 265s # AUTOMATED_TESTING: 1 265s # EXTENDED_TESTING: 265s # NO_TODO: 265s # TEST_DIR: 265s # NO_SHORT_CIRCUIT: 265s # 265s # running tests in /tmp/autopkgtest.YgRYGQ/autopkgtest_tmp/smokeZ9x1T4/t/additional-tests-draft2020-12 against draft2020-12... 265s # 265s ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/const" 265s # }, 265s # { 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/const" 265s # }, 265s # { 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/bar", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/bar", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/bar", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/bar", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/foo", 265s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "no subschemas are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/foo", 265s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "no subschemas are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/foo", 265s # "keywordLocation": "/allOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/foo", 265s # "keywordLocation": "/allOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/not" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/not" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 13 - badRef.json: "good references in schemas" - "this data is never used" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 16 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "string matches /$defs/thingy, but the $dynamicRef does not stop here" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 265s # "error": "got string, not null", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main#/then", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 265s # "error": "got string, not null", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main#/then", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 17 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "first_scope is not in dynamic scope for the $dynamicRef" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 265s # "error": "got integer, not null", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main#/then", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "second_scope#/$defs/thingy/type", 265s # "error": "got integer, not null", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then/$ref/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main#/then", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/then" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 18 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "value validates against /then/$defs/thingy, the final stop for the $dynamicRef" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 19 - dynamicRef.json: "schema in dynamic scope must have a $dynamicAnchor that matches the fragment" - "value would fail under either subschema" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "orig#/minimum", 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$dynamicRef/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "orig#/minimum", 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$dynamicRef/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 20 - dynamicRef.json: "schema in dynamic scope must have a $dynamicAnchor that matches the fragment" - "$anchor does not match $dynamicAnchor; original subschema is used" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 21 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a true schema" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 22 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a false schema" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/false", 265s # "error": "subschema is false", 265s # "instanceLocation": "/false", 265s # "keywordLocation": "/properties/false/$dynamicRef" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/false", 265s # "error": "subschema is false", 265s # "instanceLocation": "/false", 265s # "keywordLocation": "/properties/false/$dynamicRef" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 23 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 24 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/0/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/1/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/2/const" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/3/enum" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 265s # "error": "no subschemas are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/0/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/1/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/2/const" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf/3/enum" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 265s # "error": "no subschemas are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/anyOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 25 - format-duration.json: "validation of duration strings" - "years and months can appear without days" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 26 - format-duration.json: "validation of duration strings" - "months and days can appear without years" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 27 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 28 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 29 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 30 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 31 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 32 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 33 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 34 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 35 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 36 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 37 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 38 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 39 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 40 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 41 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 42 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 43 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 44 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 45 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 46 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 48 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 49 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 50 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 51 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 52 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 53 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 54 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid ipv6", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 55 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 56 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 57 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 58 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 59 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 60 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 61 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid relative-json-pointer", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 62 - formats.json: "format validation after a $ref" - "invalid duration" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/my_format/format", 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/my_format/format", 265s # "error": "not a valid duration", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 63 - formats.json: "format validation after a $ref" - "valid duration" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 64 - formats.json: "format validation after an $id" - "invalid duration" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 265s # "error": "not a valid duration", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items/allOf/0/format" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "bloop#/allOf", 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items/allOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "bloop#/allOf/0/format", 265s # "error": "not a valid duration", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items/allOf/0/format" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "bloop#/allOf", 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items/allOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 65 - formats.json: "format validation after an $id" - "valid duration" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s # 265s ok 66 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 67 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/const" 265s # }, 265s # { 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/const" 265s # }, 265s # { 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 68 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 69 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 70 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 71 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$id cannot be empty", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$id" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 72 - integers.json: "type checks" - "beyond int64 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 73 - integers.json: "type checks" - "int64 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 74 - integers.json: "type checks" - "beyond int32 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 75 - integers.json: "type checks" - "int32 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 76 - integers.json: "type checks" - "zero" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 77 - integers.json: "type checks" - "int32 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 78 - integers.json: "type checks" - "beyond int32 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 79 - integers.json: "type checks" - "upper int64 boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 80 - integers.json: "type checks" - "beyond int64 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 81 - integers.json: "int32 range checks" - "beyond lower boundary" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than -2147483648", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than -2147483648", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 82 - integers.json: "int32 range checks" - "lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 83 - integers.json: "int32 range checks" - "zero" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 84 - integers.json: "int32 range checks" - "upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 85 - integers.json: "int32 range checks" - "beyond upper boundary" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2147483647", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2147483647", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 86 - integers.json: "int64 range checks" - "beyond lower boundary" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than -9223372036854775808", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than -9223372036854775808", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 87 - integers.json: "int64 range checks" - "lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 88 - integers.json: "int64 range checks" - "zero" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 89 - integers.json: "int64 range checks" - "upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 90 - integers.json: "int64 range checks" - "beyond upper boundary" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 9223372036854775807", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 9223372036854775807", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 91 - integers.json: "equality checks" - "beyond int64 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 92 - integers.json: "equality checks" - "int64 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 93 - integers.json: "equality checks" - "beyond int32 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 94 - integers.json: "equality checks" - "int32 lower boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 95 - integers.json: "equality checks" - "zero" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 96 - integers.json: "equality checks" - "one" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/enum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/enum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 97 - integers.json: "equality checks" - "int32 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 98 - integers.json: "equality checks" - "beyond int32 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 99 - integers.json: "equality checks" - "int64 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 100 - integers.json: "equality checks" - "beyond int64 upper boundary" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s # 265s ok 101 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 102 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 103 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 104 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 105 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 106 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 107 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 108 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 109 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 110 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 111 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 112 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 113 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 114 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 115 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 116 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 117 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 118 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 119 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 120 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 121 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 122 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 123 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 124 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 125 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 126 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 127 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 128 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 129 - keyword-independence.json: "items + maximum" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 130 - keyword-independence.json: "items + maximum" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 131 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 132 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 133 - keyword-independence.json: "items + minimum" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 134 - keyword-independence.json: "items + minimum" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 135 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 136 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 137 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 138 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 139 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 140 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 141 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 142 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 143 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 144 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 145 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 146 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 147 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 148 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 149 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 150 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 151 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 152 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 153 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 154 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 155 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 156 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 157 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 158 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 159 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 160 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 161 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 162 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 163 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 164 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 165 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 166 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 167 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 168 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 169 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 170 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 171 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 172 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 173 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 174 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 175 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 176 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 177 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 178 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 179 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 180 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 181 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 182 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 183 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 184 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 185 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 186 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 187 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 188 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 189 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 190 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 191 - keyword-independence.json: "maximum + prefixItems" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 192 - keyword-independence.json: "maximum + prefixItems" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 193 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 194 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 195 - keyword-independence.json: "minimum + prefixItems" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 196 - keyword-independence.json: "minimum + prefixItems" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 197 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 198 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 199 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 200 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 201 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 202 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 203 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 204 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 205 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 206 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 207 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 208 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 209 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 210 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 211 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 212 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 213 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 214 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 215 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 216 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 217 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 218 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 219 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 220 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 221 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 222 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 223 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 224 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 225 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 226 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 227 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 228 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 229 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 230 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 231 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 232 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 233 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 234 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 235 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 236 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 237 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 238 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 239 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 240 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 241 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 242 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 243 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 244 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 245 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 246 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 247 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 248 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 249 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 250 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 251 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 252 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 253 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 254 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 255 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 256 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 257 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 258 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 259 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 260 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 261 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 262 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 263 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 264 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 265 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 266 - keyword-independence.json: "contains + properties" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 267 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 268 - keyword-independence.json: "contains + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 269 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 270 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 271 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 272 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 273 - keyword-independence.json: "contains + required" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 274 - keyword-independence.json: "contains + required" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 275 - keyword-independence.json: "contains + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 276 - keyword-independence.json: "contains + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 277 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 278 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 279 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 280 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 281 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 282 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 283 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 284 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 285 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 286 - keyword-independence.json: "dependentRequired + items" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 287 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 288 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 289 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 290 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 291 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 292 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 293 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 294 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 295 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 296 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 297 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 298 - keyword-independence.json: "items + minProperties" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 299 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 300 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 301 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 302 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 303 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 304 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 305 - keyword-independence.json: "items + properties" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 306 - keyword-independence.json: "items + properties" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 307 - keyword-independence.json: "items + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 308 - keyword-independence.json: "items + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 309 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 310 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 311 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 312 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 313 - keyword-independence.json: "items + required" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 314 - keyword-independence.json: "items + required" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 315 - keyword-independence.json: "items + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 316 - keyword-independence.json: "items + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 317 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 318 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 319 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 320 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 321 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 322 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 323 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 324 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 325 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 326 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 327 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 328 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 329 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 330 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 331 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 332 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 333 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 334 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 335 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 336 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 337 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 338 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 339 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 340 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 341 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 342 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 343 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 344 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 345 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 346 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 347 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 348 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 349 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 350 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 351 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 352 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 353 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 354 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 355 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 356 - keyword-independence.json: "maxItems + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 357 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 358 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 359 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 360 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 361 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 362 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 363 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 364 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 365 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 366 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 367 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 368 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 369 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 370 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 371 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 372 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 373 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 374 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 375 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 376 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 377 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 378 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 379 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 380 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 381 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 382 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 383 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 384 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 385 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 386 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 387 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 388 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 389 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 390 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 391 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 392 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 393 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 394 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 395 - keyword-independence.json: "minItems + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 396 - keyword-independence.json: "minItems + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 397 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 398 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 399 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 400 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 401 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 402 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 403 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 404 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 405 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 406 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 407 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 408 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 409 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 410 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 411 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 412 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 413 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 414 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 415 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 416 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 417 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 418 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 419 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 420 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 421 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 422 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 423 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 424 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 425 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 426 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 427 - keyword-independence.json: "prefixItems + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 428 - keyword-independence.json: "prefixItems + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 429 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 430 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 431 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 432 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 433 - keyword-independence.json: "prefixItems + required" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 434 - keyword-independence.json: "prefixItems + required" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 435 - keyword-independence.json: "prefixItems + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 436 - keyword-independence.json: "prefixItems + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 437 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 438 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 439 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 440 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 441 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 442 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 443 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 444 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 445 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 446 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 447 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 448 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 449 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 450 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 451 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 452 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 453 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 454 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 455 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 456 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 457 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 458 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 459 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 460 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 461 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 462 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 463 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 464 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 465 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 466 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 467 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 468 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 469 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 470 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 471 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 472 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 473 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 474 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 475 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 476 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 477 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 478 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 479 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 480 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 481 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 482 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 483 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 484 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 485 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 486 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 487 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 488 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 489 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 490 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 491 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 492 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 493 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 494 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 495 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 496 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 497 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 498 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 499 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 500 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 501 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 502 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 503 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 504 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 505 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 506 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 507 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 508 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 509 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 510 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 511 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 512 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 513 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 514 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 515 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 516 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 517 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 518 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 519 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 520 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 521 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 522 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 523 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 524 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 525 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 526 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 527 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 528 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 529 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is not valid against any item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/contains" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 530 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 531 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 532 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 533 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 534 - keyword-independence.json: "items + maxLength" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 535 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 536 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 537 - keyword-independence.json: "items + minLength" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 538 - keyword-independence.json: "items + minLength" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 539 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 540 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 541 - keyword-independence.json: "items + pattern" - "array, items invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/items" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 542 - keyword-independence.json: "items + pattern" - "array, items valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 543 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 544 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 545 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 546 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 547 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 548 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 549 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 550 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 551 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 552 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 553 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has more than 1 item", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 554 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 555 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 556 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 557 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 558 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 559 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 560 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 561 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 562 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 563 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 564 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 565 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "array has fewer than 2 items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 566 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 567 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 568 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 569 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 570 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 571 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 572 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 573 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 574 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 575 - keyword-independence.json: "minLength + prefixItems" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 576 - keyword-independence.json: "minLength + prefixItems" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 577 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/prefixItems/0" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 578 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 579 - keyword-independence.json: "pattern + prefixItems" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 580 - keyword-independence.json: "pattern + prefixItems" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 581 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 582 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 583 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 584 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 585 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 586 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 587 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 588 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 589 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional item not permitted", 265s # "instanceLocation": "/0", 265s # "keywordLocation": "/unevaluatedItems" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 590 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 591 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 592 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 593 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 594 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 595 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 596 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 597 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 598 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 599 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 600 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 601 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "items at indices 0 and 1 are not unique", 265s # "instanceLocation": "", 265s # "keywordLocation": "/uniqueItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 602 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 603 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 604 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 605 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 606 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 607 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 608 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 609 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 610 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 611 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 612 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 613 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 614 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 615 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 616 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 617 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 618 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 619 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 620 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 621 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 622 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 623 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 624 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 625 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 626 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 627 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 628 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 629 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 630 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 631 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 632 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 633 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 634 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 635 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 636 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 637 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 638 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 639 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 640 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 641 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 642 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 643 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 644 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 645 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 646 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 647 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 648 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 649 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 650 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 651 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 652 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 653 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 654 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 655 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 656 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 657 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 658 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 659 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 660 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 661 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 662 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 663 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 664 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 665 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 666 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 667 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 668 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 669 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 670 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 671 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 672 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 673 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 674 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 675 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 676 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 677 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 678 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 679 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 680 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 681 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 682 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 683 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 684 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 685 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 686 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 687 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 688 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 689 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 690 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 691 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 692 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 693 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 694 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 695 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 696 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 697 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 698 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 699 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 700 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 701 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 702 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 703 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 704 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 705 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 706 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 707 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 708 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 709 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 710 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 711 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 712 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 713 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 714 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 715 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 716 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 717 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 718 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 719 - keyword-independence.json: "maximum + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 720 - keyword-independence.json: "maximum + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 721 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 722 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 723 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 724 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 725 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 726 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 727 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 728 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 729 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 730 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 731 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 732 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 733 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 734 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 735 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 736 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 737 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 738 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 739 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 740 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 741 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 742 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 743 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 744 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 745 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 746 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 747 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 748 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 749 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 750 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 751 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 752 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 753 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 754 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 755 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 756 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 757 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 758 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 759 - keyword-independence.json: "minimum + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 760 - keyword-independence.json: "minimum + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 761 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 762 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 763 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 764 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 765 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 766 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 767 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 768 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 769 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 770 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 771 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 772 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 773 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 774 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 775 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 776 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 777 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 778 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 779 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 780 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 781 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 782 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 783 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 784 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 785 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 786 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 787 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 788 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 789 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 790 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 791 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 792 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 793 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 794 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 795 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 796 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 797 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 798 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 799 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 800 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 801 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 802 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 803 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 804 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 805 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 806 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 807 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 808 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 809 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 810 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 811 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 812 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 813 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMaximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 814 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 815 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 816 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 817 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 818 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 819 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 820 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 821 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 822 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 823 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 824 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 825 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is equal to or smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/exclusiveMinimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 826 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 827 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 828 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 829 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 830 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 831 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 832 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 833 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 834 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 835 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 836 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 837 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is larger than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 838 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 839 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 840 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 841 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 842 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 843 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 844 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 845 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 846 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 847 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 848 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 849 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is smaller than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minimum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 850 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 851 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 852 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 853 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 854 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 855 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 856 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 857 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 858 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 859 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 860 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 861 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/multipleOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 862 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 863 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 864 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 865 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 866 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 867 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 868 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 869 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 870 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 871 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 872 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 873 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/additionalProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 874 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 875 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 876 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 877 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 878 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 879 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 880 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 881 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 882 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 883 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 884 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 885 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: y", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentRequired" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 886 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 887 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 888 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 889 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 890 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 891 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 892 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 893 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 894 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 895 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 896 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 897 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas/x" 265s # }, 265s # { 265s # "error": "not all dependencies are satisfied", 265s # "instanceLocation": "", 265s # "keywordLocation": "/dependentSchemas" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 898 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 899 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 900 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 901 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 902 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 903 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 904 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 905 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 906 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 907 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 908 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 909 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has more than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 910 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 911 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 912 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 913 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 914 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 915 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 916 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 917 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 918 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 919 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 920 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 921 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object has fewer than 1 property", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 922 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 923 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 924 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 925 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 926 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 927 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 928 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 929 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 930 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 931 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 932 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 933 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/no", 265s # "keywordLocation": "/patternProperties/no" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 934 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 935 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 936 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 937 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 938 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 939 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 940 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 941 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 942 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 943 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 944 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 945 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/properties/x" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 946 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 947 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 948 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 949 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 950 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 951 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 952 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 953 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 954 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 955 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 956 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 957 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "subschema is false", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/propertyNames" 265s # }, 265s # { 265s # "error": "not all property names are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/propertyNames" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 958 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 959 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 960 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 961 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 962 - keyword-independence.json: "maxLength + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 963 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 964 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 965 - keyword-independence.json: "minLength + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 966 - keyword-independence.json: "minLength + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 967 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 968 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 969 - keyword-independence.json: "pattern + required" - "object, required invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "object is missing property: x", 265s # "instanceLocation": "", 265s # "keywordLocation": "/required" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 970 - keyword-independence.json: "pattern + required" - "object, required valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 971 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 972 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 973 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 974 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 975 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is greater than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/maxLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 976 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 977 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 978 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 979 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "length is less than 2", 265s # "instanceLocation": "", 265s # "keywordLocation": "/minLength" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 980 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 981 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "additional property not permitted", 265s # "instanceLocation": "/x", 265s # "keywordLocation": "/unevaluatedProperties" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 982 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 983 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "pattern does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/pattern" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 984 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s # 265s ok 985 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/const_string", 265s # "keywordLocation": "/properties/const_string/const" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/const_string", 265s # "keywordLocation": "/properties/const_string/const" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 986 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 987 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 988 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/const_number", 265s # "keywordLocation": "/properties/const_number/const" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/const_number", 265s # "keywordLocation": "/properties/const_number/const" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 989 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/enum_string", 265s # "keywordLocation": "/properties/enum_string/enum" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/enum_string", 265s # "keywordLocation": "/properties/enum_string/enum" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 990 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 991 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 992 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/enum_number", 265s # "keywordLocation": "/properties/enum_number/enum" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "/enum_number", 265s # "keywordLocation": "/properties/enum_number/enum" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 993 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "numeric node" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 994 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "integer node" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "integerNode.json#/type", 265s # "error": "got number, not one of object, integer", 265s # "instanceLocation": "/november", 265s # "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/additionalProperties" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main.json#/else", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "integerNode.json#/type", 265s # "error": "got number, not one of object, integer", 265s # "instanceLocation": "/november", 265s # "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "inner.json#/additionalProperties", 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else/$ref/additionalProperties" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "main.json#/else", 265s # "error": "subschema is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/else" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 995 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is valid against first definition" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 996 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is invalid against first definition" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 997 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is valid against first definition" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 998 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is invalid against first definition" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 999 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is valid against innermost type check" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1000 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is invalid against innermost type check" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 265s # "error": "got string, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/$ref/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 265s # "error": "got string, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/oneOf/0/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf", 265s # "error": "no subschemas are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/oneOf" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type", 265s # "error": "got string, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf/0/$ref/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf", 265s # "error": "subschema 0 is not valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/allOf" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1001 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1002 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1003 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1004 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum", 265s # "error": "value is larger than 10", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$ref/maximum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1005 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/enum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value does not match", 265s # "instanceLocation": "", 265s # "keywordLocation": "/enum" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1006 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1007 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$defs/foo/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$defs/foo/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1008 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$defs/foo/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "$ref value is not a valid URI reference", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$defs/foo/$ref" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1009 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1010 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "/list/0", 265s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "/list", 265s # "keywordLocation": "/properties/list/$ref/items" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 265s # "error": "got string, not integer", 265s # "instanceLocation": "/list/0", 265s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items", 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "/list", 265s # "keywordLocation": "/properties/list/$ref/items" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1011 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1012 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/items/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/items/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1013 - short-circuit.json: "prefixItems does not improperly short-circuit" - "single item is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1014 - short-circuit.json: "prefixItems does not improperly short-circuit" - "second item is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/prefixItems/1/multipleOf" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/prefixItems/1/multipleOf" 265s # }, 265s # { 265s # "error": "not all items are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/prefixItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1015 - short-circuit.json: "items does not improperly short-circuit" - "single additional item is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1016 - short-circuit.json: "items does not improperly short-circuit" - "second additional item is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/2", 265s # "keywordLocation": "/items/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/2", 265s # "keywordLocation": "/items/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/items" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1017 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1018 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/unevaluatedItems/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/1", 265s # "keywordLocation": "/unevaluatedItems/multipleOf" 265s # }, 265s # { 265s # "error": "subschema is not valid against all additional items", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedItems" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1019 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1020 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/properties/beta/multipleOf" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/properties/beta/multipleOf" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1021 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1022 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/properties/beta" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/properties/beta" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/properties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1023 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1024 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/patternProperties/^b/multipleOf" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/patternProperties/^b/multipleOf" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1025 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1026 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/patternProperties/^b" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "property not permitted", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/patternProperties/^b" 265s # }, 265s # { 265s # "error": "not all properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/patternProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1027 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1028 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/additionalProperties/multipleOf" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/additionalProperties/multipleOf" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/additionalProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1029 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1030 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/unevaluatedProperties/multipleOf" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "value is not a multiple of 2", 265s # "instanceLocation": "/beta", 265s # "keywordLocation": "/unevaluatedProperties/multipleOf" 265s # }, 265s # { 265s # "error": "not all additional properties are valid", 265s # "instanceLocation": "", 265s # "keywordLocation": "/unevaluatedProperties" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1031 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1032 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "got string, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "got string, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1033 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "got object, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "got object, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1034 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "got array, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "got array, not number", 265s # "instanceLocation": "", 265s # "keywordLocation": "/type" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1035 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1036 - vocabulary.json: "invalid $vocabulary (wrong specification version), but not until we evaluate with this metaschema" - "invalid $vocabulary (wrong specification version): register this metaschema" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1037 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core", 265s # "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 265s # "error": "the first vocabulary (by evaluation_order) must be Core", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary" 265s # }, 265s # { 265s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core", 265s # "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core" 265s # }, 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary", 265s # "error": "the first vocabulary (by evaluation_order) must be Core", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary" 265s # }, 265s # { 265s # "error": "\"https://mymetaschema2\" is not a valid metaschema", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1038 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1039 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 265s # "error": "\"https://foo.com\" is not a known vocabulary", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 265s # }, 265s # { 265s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com", 265s # "error": "\"https://foo.com\" is not a known vocabulary", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com" 265s # }, 265s # { 265s # "error": "\"https://mymetaschema3\" is not a valid metaschema", 265s # "instanceLocation": "", 265s # "keywordLocation": "/$schema" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1040 - vocabulary.json: "custom metaschema with format-assertion: false" - "custom metaschema is loaded" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1041 - vocabulary.json: "custom metaschema with format-assertion: true" - "custom metaschema is loaded" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1042 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1043 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1044 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1045 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" { 265s # result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 265s # "error": "not a valid ipv4", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1046 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1047 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1048 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date-time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date-time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1049 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date-time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date-time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1050 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid date", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s ok 1051 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1052 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1053 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1054 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1055 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1056 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1057 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1058 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1059 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 265s # result: { 265s # "valid": true 265s # } 265s # short-circuited result: { 265s # "valid": true 265s # } 265s ok 1 - test passes: data is valid: true 265s 1..1 265s } 265s ok 1060 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1061 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1062 - optional/format-time.json: "validation of time strings" - "no time offset" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s ok 1063 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 265s # result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s # short-circuited result: { 265s # "errors": [ 265s # { 265s # "error": "not a valid time", 265s # "instanceLocation": "", 265s # "keywordLocation": "/format" 265s # } 265s # ], 265s # "valid": false 265s # } 265s ok 1 - test passes: data is valid: false 265s 1..1 265s } 265s # 265s # 265s # Results using Test::JSON::Schema::Acceptance 1.021 265s # specification version: draft2020-12 265s # using custom test directory: t/additional-tests-draft2020-12 265s # optional tests included: yes 265s # 265s # filename pass todo-fail fail 265s # --------------------------------------------------------------- 265s # anchor.json 2 0 0 265s # annotation-collection.json 10 0 0 265s # badRef.json 3 0 0 265s # dynamicRef.json 7 0 0 265s # faux-buggy-schemas.json 2 0 0 265s # format-duration.json 9 0 0 265s # format-ipv4.json 4 0 0 265s # format-ipv6.json 17 0 0 265s # format-relative-json-pointer.json 7 0 0 265s # formats.json 4 0 0 265s # id.json 6 0 0 265s # integers.json 29 0 0 265s # keyword-independence.json 884 0 0 265s # loose-types-const-enum.json 8 0 0 265s # recursive-dynamic.json 2 0 0 265s # ref-and-id.json 6 0 0 265s # ref.json 10 0 0 265s # short-circuit.json 20 0 0 265s # unknownKeyword.json 4 0 0 265s # vocabulary.json 11 0 0 265s # optional/format-date-time.json 4 0 0 265s # optional/format-date.json 1 0 0 265s # optional/format-time.json 13 0 0 265s # --------------------------------------------------------------- 265s # TOTAL 1063 0 0 265s # 265s # Congratulations, all non-optional tests are passing! 265s # 265s ok 1064 - no leaks in the main evaluator object 265s ok 1065 - no leaks in the short-circuiting evaluator object 265s ok 1066 - got unsupported keyword warnings 265s 1..1066 265s ok 268s t/additional-tests-draft7.t ............. 268s # AUTHOR_TESTING: 268s # AUTOMATED_TESTING: 1 268s # EXTENDED_TESTING: 268s # NO_TODO: 268s # TEST_DIR: 268s # NO_SHORT_CIRCUIT: 268s # 268s # running tests in /tmp/autopkgtest.YgRYGQ/autopkgtest_tmp/smokeZ9x1T4/t/additional-tests-draft7 against draft7... 268s # 268s ok 1 - badRef.json: "good references in schemas" - "this data is never used" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 2 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/then/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/then/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 3 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/then/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/then/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 4 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 5 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/0/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/1/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/2/const" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/3/enum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 268s # "error": "no subschemas are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/0/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/1/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/2/const" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf/3/enum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf", 268s # "error": "no subschemas are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/anyOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 6 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 7 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 8 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 9 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid ipv4", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 10 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 11 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 12 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 13 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 14 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 15 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 16 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid relative-json-pointer", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 17 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 18 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 19 - id.json: "non-schema object containing an anchor property" - "skip traversing definition for a valid result" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 20 - id.json: "non-schema object containing an anchor property" - "const at const_not_anchor does not match" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 21 - id.json: "'' not permitted as $id" - "schema would pass without $id" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 22 - id.json: "'' not permitted as $id" - "schema would fail even without $id" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 23 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 24 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$id cannot be empty", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 25 - id.json: "bad anchor syntax" - "draft7 $id passes through to $anchor" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$id value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$id value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/$id" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 26 - integers.json: "type checks" - "beyond int64 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 27 - integers.json: "type checks" - "int64 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 28 - integers.json: "type checks" - "beyond int32 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 29 - integers.json: "type checks" - "int32 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 30 - integers.json: "type checks" - "zero" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 31 - integers.json: "type checks" - "int32 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 32 - integers.json: "type checks" - "beyond int32 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 33 - integers.json: "type checks" - "upper int64 boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 34 - integers.json: "type checks" - "beyond int64 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 35 - integers.json: "int32 range checks" - "beyond lower boundary" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than -2147483648", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than -2147483648", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 36 - integers.json: "int32 range checks" - "lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 37 - integers.json: "int32 range checks" - "zero" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 38 - integers.json: "int32 range checks" - "upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 39 - integers.json: "int32 range checks" - "beyond upper boundary" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2147483647", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2147483647", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 40 - integers.json: "int64 range checks" - "beyond lower boundary" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than -9223372036854775808", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than -9223372036854775808", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 41 - integers.json: "int64 range checks" - "lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 42 - integers.json: "int64 range checks" - "zero" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 43 - integers.json: "int64 range checks" - "upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 44 - integers.json: "int64 range checks" - "beyond upper boundary" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 9223372036854775807", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 9223372036854775807", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 45 - integers.json: "equality checks" - "beyond int64 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 46 - integers.json: "equality checks" - "int64 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 47 - integers.json: "equality checks" - "beyond int32 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 48 - integers.json: "equality checks" - "int32 lower boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 49 - integers.json: "equality checks" - "zero" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 50 - integers.json: "equality checks" - "one" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/enum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/enum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 51 - integers.json: "equality checks" - "int32 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 52 - integers.json: "equality checks" - "beyond int32 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 53 - integers.json: "equality checks" - "int64 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 54 - integers.json: "equality checks" - "beyond int64 upper boundary" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s # 268s ok 55 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 56 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 57 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 58 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 59 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 60 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 61 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 62 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 63 - keyword-independence.json: "contains + maximum" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 64 - keyword-independence.json: "contains + maximum" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 65 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 66 - keyword-independence.json: "contains + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 67 - keyword-independence.json: "contains + minimum" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 68 - keyword-independence.json: "contains + minimum" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 69 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 70 - keyword-independence.json: "contains + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 71 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 72 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 73 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 74 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 75 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 76 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 77 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 78 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 79 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 80 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 81 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 82 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 83 - keyword-independence.json: "items + maximum" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 84 - keyword-independence.json: "items + maximum" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 85 - keyword-independence.json: "items + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 86 - keyword-independence.json: "items + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 87 - keyword-independence.json: "items + minimum" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 88 - keyword-independence.json: "items + minimum" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 89 - keyword-independence.json: "items + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 90 - keyword-independence.json: "items + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 91 - keyword-independence.json: "items + multipleOf" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 92 - keyword-independence.json: "items + multipleOf" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 93 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 94 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 95 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 96 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 97 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 98 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 99 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 100 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 101 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 102 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 103 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 104 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 105 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 106 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 107 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 108 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 109 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 110 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 111 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 112 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 113 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 114 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 115 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 116 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 117 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 118 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 119 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 120 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 121 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 122 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 123 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 124 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 125 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 126 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 127 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 128 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 129 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 130 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 131 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 132 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 133 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 134 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 135 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 136 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 137 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 138 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 139 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 140 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 141 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 142 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 143 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 144 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 145 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 146 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 147 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 148 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 149 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 150 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 151 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 152 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 153 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 154 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 155 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 156 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 157 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 158 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 159 - keyword-independence.json: "contains + dependencies" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 160 - keyword-independence.json: "contains + dependencies" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 161 - keyword-independence.json: "contains + dependencies" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 162 - keyword-independence.json: "contains + dependencies" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 163 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 164 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 165 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 166 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 167 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 168 - keyword-independence.json: "contains + minProperties" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 169 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 170 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 171 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 172 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 173 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 174 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 175 - keyword-independence.json: "contains + properties" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 176 - keyword-independence.json: "contains + properties" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 177 - keyword-independence.json: "contains + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 178 - keyword-independence.json: "contains + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 179 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 180 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 181 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 182 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 183 - keyword-independence.json: "contains + required" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 184 - keyword-independence.json: "contains + required" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 185 - keyword-independence.json: "contains + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 186 - keyword-independence.json: "contains + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 187 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 188 - keyword-independence.json: "additionalProperties + items" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 189 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 190 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 191 - keyword-independence.json: "dependencies + items" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 192 - keyword-independence.json: "dependencies + items" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 193 - keyword-independence.json: "dependencies + items" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 194 - keyword-independence.json: "dependencies + items" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 195 - keyword-independence.json: "items + maxProperties" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 196 - keyword-independence.json: "items + maxProperties" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 197 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 198 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 199 - keyword-independence.json: "items + minProperties" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 200 - keyword-independence.json: "items + minProperties" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 201 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 202 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 203 - keyword-independence.json: "items + patternProperties" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 204 - keyword-independence.json: "items + patternProperties" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 205 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 206 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 207 - keyword-independence.json: "items + properties" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 208 - keyword-independence.json: "items + properties" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 209 - keyword-independence.json: "items + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 210 - keyword-independence.json: "items + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 211 - keyword-independence.json: "items + propertyNames" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 212 - keyword-independence.json: "items + propertyNames" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 213 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 214 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 215 - keyword-independence.json: "items + required" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 216 - keyword-independence.json: "items + required" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 217 - keyword-independence.json: "items + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 218 - keyword-independence.json: "items + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 219 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 220 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 221 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 222 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 223 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 224 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 225 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 226 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 227 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 228 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 229 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 230 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 231 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 232 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 233 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 234 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 235 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 236 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 237 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 238 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 239 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 240 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 241 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 242 - keyword-independence.json: "maxItems + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 243 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 244 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 245 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 246 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 247 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 248 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 249 - keyword-independence.json: "maxItems + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 250 - keyword-independence.json: "maxItems + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 251 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 252 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 253 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 254 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 255 - keyword-independence.json: "dependencies + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 256 - keyword-independence.json: "dependencies + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 257 - keyword-independence.json: "dependencies + minItems" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 258 - keyword-independence.json: "dependencies + minItems" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 259 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 260 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 261 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 262 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 263 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 264 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 265 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 266 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 267 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 268 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 269 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 270 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 271 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 272 - keyword-independence.json: "minItems + properties" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 273 - keyword-independence.json: "minItems + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 274 - keyword-independence.json: "minItems + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 275 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 276 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 277 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 278 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 279 - keyword-independence.json: "minItems + required" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 280 - keyword-independence.json: "minItems + required" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 281 - keyword-independence.json: "minItems + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 282 - keyword-independence.json: "minItems + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 283 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 284 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 285 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 286 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 287 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 288 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 289 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 290 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 291 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 292 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 293 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 294 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 295 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 296 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 297 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 298 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 299 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 300 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 301 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 302 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 303 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 304 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 305 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 306 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 307 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 308 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 309 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 310 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 311 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 312 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 313 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 314 - keyword-independence.json: "required + uniqueItems" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 315 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 316 - keyword-independence.json: "contains + maxLength" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 317 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 318 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 319 - keyword-independence.json: "contains + minLength" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 320 - keyword-independence.json: "contains + minLength" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 321 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 322 - keyword-independence.json: "contains + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 323 - keyword-independence.json: "contains + pattern" - "array, contains invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is not valid against any item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/contains" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 324 - keyword-independence.json: "contains + pattern" - "array, contains valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 325 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 326 - keyword-independence.json: "contains + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 327 - keyword-independence.json: "items + maxLength" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 328 - keyword-independence.json: "items + maxLength" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 329 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 330 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 331 - keyword-independence.json: "items + minLength" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 332 - keyword-independence.json: "items + minLength" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 333 - keyword-independence.json: "items + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 334 - keyword-independence.json: "items + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 335 - keyword-independence.json: "items + pattern" - "array, items invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "item not permitted", 268s # "instanceLocation": "/0", 268s # "keywordLocation": "/items/0" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 336 - keyword-independence.json: "items + pattern" - "array, items valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 337 - keyword-independence.json: "items + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 338 - keyword-independence.json: "items + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 339 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 340 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 341 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 342 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 343 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 344 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 345 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 346 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 347 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has more than 1 item", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 348 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 349 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 350 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 351 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 352 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 353 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 354 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 355 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 356 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 357 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 358 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 359 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "array has fewer than 2 items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 360 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 361 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 362 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 363 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 364 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 365 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 366 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 367 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 368 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 369 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 370 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 371 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "items at indices 0 and 1 are not unique", 268s # "instanceLocation": "", 268s # "keywordLocation": "/uniqueItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 372 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 373 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 374 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 375 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 376 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 377 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 378 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 379 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 380 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 381 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 382 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 383 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 384 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 385 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 386 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 387 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 388 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 389 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 390 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 391 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 392 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 393 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 394 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 395 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 396 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 397 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 398 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 399 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 400 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 401 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 402 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 403 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 404 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 405 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 406 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 407 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 408 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 409 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 410 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 411 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 412 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 413 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 414 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 415 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 416 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 417 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 418 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 419 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 420 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 421 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 422 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 423 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 424 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 425 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 426 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 427 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 428 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 429 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 430 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 431 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 432 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 433 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 434 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 435 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 436 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 437 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 438 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 439 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 440 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 441 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 442 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 443 - keyword-independence.json: "dependencies + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 444 - keyword-independence.json: "dependencies + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 445 - keyword-independence.json: "dependencies + maximum" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 446 - keyword-independence.json: "dependencies + maximum" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 447 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 448 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 449 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 450 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 451 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 452 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 453 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 454 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 455 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 456 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 457 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 458 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 459 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 460 - keyword-independence.json: "maximum + properties" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 461 - keyword-independence.json: "maximum + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 462 - keyword-independence.json: "maximum + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 463 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 464 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 465 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 466 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 467 - keyword-independence.json: "maximum + required" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 468 - keyword-independence.json: "maximum + required" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 469 - keyword-independence.json: "maximum + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 470 - keyword-independence.json: "maximum + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 471 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 472 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 473 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 474 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 475 - keyword-independence.json: "dependencies + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 476 - keyword-independence.json: "dependencies + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 477 - keyword-independence.json: "dependencies + minimum" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 478 - keyword-independence.json: "dependencies + minimum" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 479 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 480 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 481 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 482 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 483 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 484 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 485 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 486 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 487 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 488 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 489 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 490 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 491 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 492 - keyword-independence.json: "minimum + properties" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 493 - keyword-independence.json: "minimum + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 494 - keyword-independence.json: "minimum + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 495 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 496 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 497 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 498 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 499 - keyword-independence.json: "minimum + required" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 500 - keyword-independence.json: "minimum + required" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 501 - keyword-independence.json: "minimum + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 502 - keyword-independence.json: "minimum + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 503 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 504 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 505 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 506 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 507 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 508 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 509 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 510 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 511 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 512 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 513 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 514 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 515 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 516 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 517 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 518 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 519 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 520 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 521 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 522 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 523 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 524 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 525 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 526 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 527 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 528 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 529 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 530 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 531 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 532 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 533 - keyword-independence.json: "multipleOf + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 534 - keyword-independence.json: "multipleOf + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 535 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 536 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 537 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 538 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 539 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 540 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 541 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 542 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 543 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMaximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 544 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 545 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 546 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 547 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 548 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 549 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 550 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 551 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 552 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 553 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 554 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 555 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is equal to or smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/exclusiveMinimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 556 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 557 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 558 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 559 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 560 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 561 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 562 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 563 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 564 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 565 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 566 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 567 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is larger than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maximum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 568 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 569 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 570 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 571 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 572 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 573 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 574 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 575 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 576 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 577 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 578 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 579 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is smaller than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minimum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 580 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 581 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 582 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 583 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 584 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 585 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 586 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 587 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 588 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 589 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 590 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 591 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/multipleOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 592 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 593 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 594 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 595 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 596 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 597 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 598 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 599 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 600 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 601 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 602 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 603 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 604 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 605 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 606 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 607 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 608 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 609 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 610 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 611 - keyword-independence.json: "dependencies + minLength" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 612 - keyword-independence.json: "dependencies + minLength" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 613 - keyword-independence.json: "dependencies + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 614 - keyword-independence.json: "dependencies + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 615 - keyword-independence.json: "dependencies + pattern" - "object, dependencies invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies/x" 268s # }, 268s # { 268s # "error": "not all dependencies are satisfied", 268s # "instanceLocation": "", 268s # "keywordLocation": "/dependencies" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 616 - keyword-independence.json: "dependencies + pattern" - "object, dependencies valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 617 - keyword-independence.json: "dependencies + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 618 - keyword-independence.json: "dependencies + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 619 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 620 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 621 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 622 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 623 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 624 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 625 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 626 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 627 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has more than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 628 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 629 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 630 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 631 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 632 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 633 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 634 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 635 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 636 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 637 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 638 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 639 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object has fewer than 1 property", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 640 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 641 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 642 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 643 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 644 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 645 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 646 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 647 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 648 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 649 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 650 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 651 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/no", 268s # "keywordLocation": "/patternProperties/no" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 652 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 653 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 654 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 655 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 656 - keyword-independence.json: "maxLength + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 657 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 658 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 659 - keyword-independence.json: "minLength + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 660 - keyword-independence.json: "minLength + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 661 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 662 - keyword-independence.json: "minLength + properties" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 663 - keyword-independence.json: "pattern + properties" - "object, properties invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/properties/x" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 664 - keyword-independence.json: "pattern + properties" - "object, properties valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 665 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 666 - keyword-independence.json: "pattern + properties" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 667 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 668 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 669 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 670 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 671 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 672 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 673 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 674 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 675 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "subschema is false", 268s # "instanceLocation": "/x", 268s # "keywordLocation": "/propertyNames" 268s # }, 268s # { 268s # "error": "not all property names are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/propertyNames" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 676 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 677 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 678 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 679 - keyword-independence.json: "maxLength + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 680 - keyword-independence.json: "maxLength + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 681 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is greater than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/maxLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 682 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 683 - keyword-independence.json: "minLength + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 684 - keyword-independence.json: "minLength + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 685 - keyword-independence.json: "minLength + required" - "string, minLength invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "length is less than 2", 268s # "instanceLocation": "", 268s # "keywordLocation": "/minLength" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 686 - keyword-independence.json: "minLength + required" - "string, minLength valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 687 - keyword-independence.json: "pattern + required" - "object, required invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "object is missing property: x", 268s # "instanceLocation": "", 268s # "keywordLocation": "/required" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 688 - keyword-independence.json: "pattern + required" - "object, required valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 689 - keyword-independence.json: "pattern + required" - "string, pattern invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "pattern does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/pattern" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 690 - keyword-independence.json: "pattern + required" - "string, pattern valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s # 268s ok 691 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/const_string", 268s # "keywordLocation": "/properties/const_string/const" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/const_string", 268s # "keywordLocation": "/properties/const_string/const" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 692 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 693 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 694 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/const_number", 268s # "keywordLocation": "/properties/const_number/const" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/const_number", 268s # "keywordLocation": "/properties/const_number/const" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 695 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/enum_string", 268s # "keywordLocation": "/properties/enum_string/enum" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/enum_string", 268s # "keywordLocation": "/properties/enum_string/enum" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 696 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 697 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 698 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/enum_number", 268s # "keywordLocation": "/properties/enum_number/enum" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "/enum_number", 268s # "keywordLocation": "/properties/enum_number/enum" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 699 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "skip traversing definition for a valid result" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 700 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "const at const_not_anchor does not match" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 701 - not-an-id.json: "object that is not a schema containing an $id property" - "skip traversing definition for a valid result" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 702 - not-an-id.json: "object that is not a schema containing an $id property" - "const at const_not_id does not match" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else/$ref/const" 268s # }, 268s # { 268s # "error": "subschema is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/else" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 703 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is valid against first definition" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 704 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is invalid against first definition" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 705 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 706 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref1/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref1/int.json#/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref1/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 707 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 708 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref2/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum", 268s # "error": "value is larger than 10", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf/0/$ref/maximum" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "/ref2/base.json#/allOf", 268s # "error": "subschema 0 is not valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/allOf" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 709 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/enum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value does not match", 268s # "instanceLocation": "", 268s # "keywordLocation": "/enum" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 710 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 711 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/definitions/foo/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/definitions/foo/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 712 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/definitions/foo/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "$ref value is not a valid URI reference", 268s # "instanceLocation": "", 268s # "keywordLocation": "/definitions/foo/$ref" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 713 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 714 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "/list/0", 268s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 268s # "error": "subschema is not valid against all items", 268s # "instanceLocation": "/list", 268s # "keywordLocation": "/properties/list/$ref/items" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type", 268s # "error": "got string, not integer", 268s # "instanceLocation": "/list/0", 268s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 268s # "error": "subschema is not valid against all items", 268s # "instanceLocation": "/list", 268s # "keywordLocation": "/properties/list/$ref/items" 268s # }, 268s # { 268s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties", 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 715 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 716 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/1", 268s # "keywordLocation": "/items/multipleOf" 268s # }, 268s # { 268s # "error": "subschema is not valid against all items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/1", 268s # "keywordLocation": "/items/multipleOf" 268s # }, 268s # { 268s # "error": "subschema is not valid against all items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 717 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 718 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/1", 268s # "keywordLocation": "/items/1/multipleOf" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/1", 268s # "keywordLocation": "/items/1/multipleOf" 268s # }, 268s # { 268s # "error": "not all items are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/items" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 719 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 720 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/2", 268s # "keywordLocation": "/additionalItems/multipleOf" 268s # }, 268s # { 268s # "error": "subschema is not valid against all additional items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/2", 268s # "keywordLocation": "/additionalItems/multipleOf" 268s # }, 268s # { 268s # "error": "subschema is not valid against all additional items", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalItems" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 721 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 722 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/properties/beta/multipleOf" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/properties/beta/multipleOf" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 723 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 724 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/properties/beta" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/properties/beta" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/properties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 725 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 726 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/patternProperties/^b/multipleOf" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/patternProperties/^b/multipleOf" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 727 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 728 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/patternProperties/^b" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "property not permitted", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/patternProperties/^b" 268s # }, 268s # { 268s # "error": "not all properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/patternProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 729 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 730 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/additionalProperties/multipleOf" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "value is not a multiple of 2", 268s # "instanceLocation": "/beta", 268s # "keywordLocation": "/additionalProperties/multipleOf" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 731 - unknownKeyword.json: "past and future keywords are ignored" - "passing" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 732 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "got string, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "got string, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 733 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "got object, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "got object, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 734 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "got array, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "got array, not number", 268s # "instanceLocation": "", 268s # "keywordLocation": "/type" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 735 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 736 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 737 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/bar", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "additional property not permitted", 268s # "instanceLocation": "/bar", 268s # "keywordLocation": "/additionalProperties" 268s # }, 268s # { 268s # "error": "not all additional properties are valid", 268s # "instanceLocation": "", 268s # "keywordLocation": "/additionalProperties" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 738 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch (but $dynamicRef is ignored)" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s # 268s ok 739 - vocabulary.json: "valid $vocabulary: everything is valid" - "a valid $vocabulary value" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 740 - vocabulary.json: "wrong specification version: but this is draft7" - "invalid $vocabulary value: wrong specification version" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 741 - vocabulary.json: "but this is draft7" - "invalid $vocabulary value: unknown URI" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s # 268s ok 742 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 743 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 744 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date-time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date-time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 745 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date-time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date-time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 746 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid date", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s ok 747 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 748 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 749 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 750 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 751 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 752 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 753 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 754 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 755 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 268s # result: { 268s # "valid": true 268s # } 268s # short-circuited result: { 268s # "valid": true 268s # } 268s ok 1 - test passes: data is valid: true 268s 1..1 268s } 268s ok 756 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 757 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 758 - optional/format-time.json: "validation of time strings" - "no time offset" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s ok 759 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" { 268s # result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s # short-circuited result: { 268s # "errors": [ 268s # { 268s # "error": "not a valid time", 268s # "instanceLocation": "", 268s # "keywordLocation": "/format" 268s # } 268s # ], 268s # "valid": false 268s # } 268s ok 1 - test passes: data is valid: false 268s 1..1 268s } 268s # 268s # 268s # Results using Test::JSON::Schema::Acceptance 1.021 268s # specification version: draft7 268s # using custom test directory: t/additional-tests-draft7 268s # optional tests included: yes 268s # 268s # filename pass todo-fail fail 268s # --------------------------------------------------------------- 268s # badRef.json 3 0 0 268s # faux-buggy-schemas.json 2 0 0 268s # format-ipv4.json 4 0 0 268s # format-relative-json-pointer.json 7 0 0 268s # id.json 9 0 0 268s # integers.json 29 0 0 268s # keyword-independence.json 636 0 0 268s # loose-types-const-enum.json 8 0 0 268s # not-an-anchor.json 2 0 0 268s # not-an-id.json 2 0 0 268s # ref-and-id.json 2 0 0 268s # ref.json 10 0 0 268s # short-circuit.json 16 0 0 268s # unknownKeyword.json 8 0 0 268s # vocabulary.json 3 0 0 268s # optional/format-date-time.json 4 0 0 268s # optional/format-date.json 1 0 0 268s # optional/format-time.json 13 0 0 268s # --------------------------------------------------------------- 268s # TOTAL 759 0 0 268s # 268s # Congratulations, all non-optional tests are passing! 268s # 268s ok 760 - no leaks in the main evaluator object 268s ok 761 - no leaks in the short-circuiting evaluator object 268s ok 762 - got unsupported keyword warnings 268s 1..762 268s ok 269s t/annotations.t ......................... 269s # Subtest: allOf 269s ok 1 - evaluation of the allOf keyword fails 269s ok 2 - failing allOf: state is correct after evaluating 269s ok 3 - evaluation of the allOf keyword succeeds 269s ok 4 - passing allOf: state is correct after evaluating 269s ok 5 - annotation collection can be turned off in evaluate() 269s ok 6 - ...but the value is still true on the object 269s ok 7 - collect_annotations defaults to false 269s ok 8 - annotation collection can be turned on in evaluate() also 269s 1..8 269s ok 1 - allOf 269s # Subtest: oneOf 269s ok 1 - evaluation of the oneOf keyword fails 269s ok 2 - failing oneOf: state is correct after evaluating 269s ok 3 - evaluation of the oneOf keyword succeeds 269s ok 4 - passing oneOf: state is correct after evaluating 269s 1..4 269s ok 2 - oneOf 269s # Subtest: not 269s ok 1 - evaluation of the not keyword fails 269s ok 2 - failing not: state is correct after evaluating 269s ok 3 - evaluation of the not keyword fails 269s ok 4 - failing not: state is correct after evaluating (annotations will be ultimately discarded) 269s ok 5 - evaluation of the not keyword succeeds 269s ok 6 - passing not: state is correct after evaluating 269s ok 7 - annotations are still collected inside a "not", otherwise the unevaluatedProperties would have returned false 269s 1..7 269s ok 3 - not 269s # Subtest: prefixItems 269s ok 1 - no items means that "prefixItems" succeeds 269s ok 2 - no items: no annotation is produced by prefixItems 269s ok 3 - one item 269s ok 4 - passing prefixItems: one item is annotated 269s ok 5 - two items, one failing 269s ok 6 - failing prefixItems still collects annotations 269s 1..6 269s ok 4 - prefixItems 269s # Subtest: schema-items 269s ok 1 - no items means that "items" succeeds 269s ok 2 - no items: no annotation is produced by items 269s ok 3 - one item 269s ok 4 - passing items: one item is annotated 269s ok 5 - two items, one failing 269s ok 6 - failing items still collects annotations 269s 1..6 269s ok 5 - schema-items 269s # Subtest: additionalItems 269s ok 1 - no items means that "additionalItems" succeeds 269s ok 2 - no items: no annotation is produced by additionaltems 269s ok 3 - one item 269s ok 4 - additionalItems does nothing without items 269s 1..4 269s ok 6 - additionalItems 269s # Subtest: properties 269s ok 1 - no items means that "properties" succeeds 269s ok 2 - no properties: annotation is still produced by properties 269s ok 3 - one property 269s ok 4 - passing properties: one property is annotated 269s ok 5 - two properties, one failing 269s ok 6 - failing properties still collects annotations 269s 1..6 269s ok 7 - properties 269s # Subtest: patternProperties 269s ok 1 - no items means that "patternProperties" succeeds 269s ok 2 - no pProperties: annotation is still produced by patternProperties 269s ok 3 - one property 269s ok 4 - passing properties: one property is annotated 269s ok 5 - two properties, one failing 269s ok 6 - failing patternProperties still collects annotations 269s 1..6 269s ok 8 - patternProperties 269s # Subtest: additionalProperties 269s ok 1 - no items means that "additionalProperties" succeeds 269s ok 2 - no properties: no annotation is produced by additionalProperties 269s ok 3 - one property 269s ok 4 - passing additionalProperties: one property is annotated 269s ok 5 - two properties, one failing 269s ok 6 - failing properties still collects annotations 269s 1..6 269s ok 9 - additionalProperties 269s # Subtest: unevaluatedProperties 269s ok 1 - no items means that "unevaluatedProperties" succeeds 269s ok 2 - no properties: no annotation is produced by unevaluatedProperties 269s ok 3 - one property 269s ok 4 - passing unevaluatedProperties: one property is annotated 269s ok 5 - two properties, one failing 269s ok 6 - failing unevaluatedProperties still collects annotations 269s 1..6 269s ok 10 - unevaluatedProperties 269s # Subtest: collect_annotations and unevaluated keywords 269s ok 1 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (valid result, no annotations in result) 269s ok 2 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (invalid result) 269s ok 3 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (valid result, no annotations) 269s ok 4 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (invalid result) 269s ok 5 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (valid result) 269s ok 6 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (invalid result) 269s ok 7 - when "collect_annotations" is set to true, unevaluatedItems works, and annotations are returned 269s ok 8 - when "collect_annotations" is set to true, unevaluatedProperties passes, and annotations are returned 269s ok 9 - when "collect_annotations" is not set, unevaluatedItems still works, but annotations are not returned 269s ok 10 - when "collect_annotations" is not set, unevaluatedProperties still works, but annotations are not returned 269s ok 11 - ... still works when unevaluated keywords are in a separate document 269s ok 12 - items.json does not need collect_annotations => 1 to evaluate itself 269s ok 13 - properties.json does not need collect_annotations => 1 to evaluate itself 269s ok 14 - referenced schemas still produce annotations internally when needed, even when not required to evaluate themselves in isolation 269s 1..14 269s ok 11 - collect_annotations and unevaluated keywords 269s # Subtest: annotate unknown keywords 269s ok 1 - no annotations even when collect_annotations is false 269s ok 2 - unknown keywords are collected as annotations 269s ok 3 - "unknown" keyword is set on the annotation objects for unknown keywords 269s ok 4 - no annotations from unknown keywords in draft2019-09 269s 1..4 269s ok 12 - annotate unknown keywords 269s # Subtest: items + additionalItems, prefixItems + items 269s ok 1 - schema-based items + additionalItems 269s ok 2 - prefixItems + schema-based items 269s 1..2 269s ok 13 - items + additionalItems, prefixItems + items 269s 1..13 269s ok 269s t/boolean-data.t ........................ 269s # Subtest: strict booleans (default) 269s ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean 269s ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean 269s ok 3 - correct error generated from type for undef 269s ok 4 - correct error generated from type for 0 269s ok 5 - correct error generated from type for 1 269s ok 6 - correct error generated from type for '0' 269s ok 7 - correct error generated from type for '1' 269s ok 8 - correct error generated from type for 'false' 269s ok 9 - correct error generated from type for 'true' 269s ok 10 - correct error generated from type for \0 269s ok 11 - correct error generated from type for \1 269s ok 12 - in data, undef not is a boolean 269s ok 13 - in data, 0 not is a boolean 269s ok 14 - in data, 1 not is a boolean 269s ok 15 - in data, '0' not is a boolean 269s ok 16 - in data, '1' not is a boolean 269s ok 17 - in data, 'false' not is a boolean 269s ok 18 - in data, 'true' not is a boolean 269s ok 19 - in data, \0 not is a boolean 269s ok 20 - in data, \1 not is a boolean 269s 1..20 269s ok 1 - strict booleans (default) 269s # Subtest: scalarref_booleans = 1 269s ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean 269s ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean 269s ok 3 - in data, \0 is a boolean 269s ok 4 - in data, \1 is a boolean 269s ok 5 - correct error generated from type for ['null',undef] 269s ok 6 - correct error generated from type for ['integer',0] 269s ok 7 - correct error generated from type for ['integer',1] 269s ok 8 - correct error generated from type for ['string','0'] 269s ok 9 - correct error generated from type for ['string','1'] 269s ok 10 - correct error generated from type for ['string','false'] 269s ok 11 - correct error generated from type for ['string','true'] 269s ok 12 - items are all considered unique when types differ, even when perl treats them similarly 269s ok 13 - scalarrefs compare as identical to their counterpart booleans 269s ok 14 - scalarrefs compare as identical to their counterpart booleans 269s ok 15 - scalarrefs compare as identical to their counterpart booleans 269s ok 16 - scalarrefs compare as identical to their counterpart booleans 269s 1..16 269s ok 2 - scalarref_booleans = 1 269s 1..2 269s ok 270s t/boolean-schemas.t ..................... 270s ok 1 - schema: false evaluates to: false 270s ok 2 - invalid result structure looks correct 270s ok 3 - no exceptions in evaluate 270s ok 4 - schema: true evaluates to: true 270s ok 5 - invalid result structure looks correct 270s ok 6 - no exceptions in evaluate 270s ok 7 - schema: {} evaluates to: true 270s ok 8 - invalid result structure looks correct 270s ok 9 - no exceptions in evaluate 270s ok 10 - schema: 0 evaluates to: false 270s ok 11 - invalid result structure looks correct 270s ok 12 - no exceptions in evaluate 270s ok 13 - schema: 1 evaluates to: false 270s ok 14 - invalid result structure looks correct 270s ok 15 - no exceptions in evaluate 270s ok 16 - schema: false evaluates to: false 270s ok 17 - invalid result structure looks correct 270s ok 18 - no exceptions in evaluate 270s ok 19 - schema: true evaluates to: false 270s ok 20 - invalid result structure looks correct 270s ok 21 - no exceptions in evaluate 270s ok 22 - invalid schema type results in error 270s ok 23 - scalarref for schema results in error, even when scalarref_booleans is true 270s 1..23 270s ok 270s t/cached-metaschemas.t .................. 270s # Subtest: load cached metaschema 270s ok 1 - this resource is not yet known 270s ok 2 - loaded metaschema from sharedir cache 270s ok 3 - this resource is now in the resource index 270s 1..3 270s ok 1 - load cached metaschema 270s # Subtest: resource collision with cached metaschema 270s ok 1 - cannot introduce another schema whose id collides with a cached schema, even if it isn't loaded yet 270s 1..1 270s ok 2 - resource collision with cached metaschema 270s 1..2 270s ok 271s t/callbacks.t ........................... 271s # Subtest: evaluation callbacks 271s ok 1 - evaluation was successful 271s ok 2 - identified all data paths where a $ref was used 271s ok 3 - evaluation was not successful 271s ok 4 - no callbacks on failure: innermost $ref failed, so all other $refs failed too 271s ok 5 - evaluation was successful 271s ok 6 - successful subschemas have callbacks called, but not failed subschemas 271s 1..6 271s ok 1 - evaluation callbacks 271s # Subtest: callbacks for keywords without eval subs 271s ok 1 - evaluation was successful 271s ok 2 - callbacks are triggered for keywords even when they lack evaluation subs 271s 1..2 271s ok 2 - callbacks for keywords without eval subs 271s # Subtest: callbacks that produce errors 271s ok 1 - result object contains the callback error, and the other errors 271s ok 2 - result object contains the callback error, and short-circuits execution 271s 1..2 271s ok 3 - callbacks that produce errors 271s 1..3 271s ok 271s t/content-encoding.t .................... 271s # Subtest: unrecognized encoding formats do not result in errors, when not asserting 271s ok 1 - in evaluate(), annotations are collected and no validation is performed 271s 1..1 271s ok 1 - unrecognized encoding formats do not result in errors, when not asserting 271s # Subtest: media_type and encoding handlers 271s ok 1 - upper-cased names are not accepted 271s ok 2 - application/json media_type decoder 271s ok 3 - default text/plain media_type decoder 271s ok 4 - getter uses the casefolded name 271s ok 5 - getter matches to wildcard entries 271s ok 6 - getter uses new override entry for wildcard 271s ok 7 - getter prefers case-insensitive matches to wildcard entries 271s ok 8 - getter matches to wildcard entries 271s ok 9 - text/* matches itself 271s ok 10 - getter still prefers case-insensitive matches to wildcard entries 271s ok 11 - text/* is preferred to */* 271s ok 12 - */* matches */* 271s ok 13 - */* is returned as a last resort 271s ok 14 - application/x-www-form-urlencoded happy path with unicode 271s ok 15 - application/x-ndjson happy path with unicode 271s ok 16 - application/x-ndjson dies with line number of the bad data 271s ok 17 - base64 encoding decoder + application/json media_type decoder 271s ok 18 - base64url encoding decoder + application/json media_type decoder 271s 1..18 271s ok 2 - media_type and encoding handlers 271s # Subtest: draft2020-12 assertions 271s ok 1 - under the current spec version, content* keywords are not assertions 271s ok 2 - contentEncoding first decodes the string, erroring if it can't 271s ok 3 - then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema 271s ok 4 - contentSchema evaluates the decoded data 271s ok 5 - null data is handled properly 271s ok 6 - contentSchema successfully evaluates the decoded data 271s 1..6 271s ok 3 - draft2020-12 assertions 271s # Subtest: draft7 assertions 271s ok 1 - in draft7, assertion behaviour is the default 271s ok 2 - in draft7, then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema 271s ok 3 - under draft7, content* are assertions by default, but contentSchema does not exist 271s 1..3 271s ok 4 - draft7 assertions 271s # Subtest: more assertions 271s ok 1 - evaluation aborts with an unrecognized contentEncoding 271s ok 2 - evaluation aborts with an unrecognized contentMediaType 271s 1..2 271s ok 5 - more assertions 271s 1..5 271s ok 272s t/dialects.t ............................ 272s # Subtest: invalid use of the $schema keyword 272s ok 1 - $schema can only appear at the root of a schema, when there is no canonical URI 272s ok 2 - $schema can only appear where the canonical URI has no fragment, when there is a canonical URI 272s ok 3 - this is still not a resource root, even in a $ref target 272s 1..3 272s ok 1 - invalid use of the $schema keyword 272s # Subtest: defaults without a $schema keyword 272s ok 1 - boolean schema: no $id, no $schema 272s ok 2 - boolean schema: defaults to draft2020-12 without a $schema keyword 272s ok 3 - object schema: no $id, no $schema 272s ok 4 - object schema: defaults to draft2020-12 without a $schema keyword 272s ok 5 - "not" keyword, from the Applicator vocabulary, is traversed at the root level 272s ok 6 - object schema: $id, no $schema 272s ok 7 - named resource defaults to draft2020-12 without a $schema keyword 272s ok 8 - boolean schema: no $id, no $schema 272s ok 9 - boolean schema: specification_version overridden 272s ok 10 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during traversal 272s ok 11 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during evaluation 272s ok 12 - object schema: overridden to draft7 272s ok 13 - object schema: $id, no $schema, unrecognized+invalid keywords are ignored during traversal 272s ok 14 - object schema: $id, no $schema 272s ok 15 - object schema: overridden to draft7 and other keywords are ignored 272s 1..15 272s ok 2 - defaults without a $schema keyword 272s # Subtest: behaviour with a $schema keyword 272s ok 1 - object schema: no $id, has $schema, unrecognized+invalid keywords are ignored during traversal 272s ok 2 - object schema: no $id, has $schema, unrecognized keywords are ignored during evaluation 272s ok 3 - semantics can be changed to another draft version 272s ok 4 - schema is accepted with $schema without an empty fragment 272s ok 5 - ..and is still recognized as draft7 272s ok 6 - $id and $schema, unrecognized+invalid keywords are ignored during traversal 272s ok 7 - $id and $schema 272s ok 8 - named resource can be changed to another draft version and other keywords are ignored 272s ok 9 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal 272s ok 10 - no $id, specification version overridden twice, other keywords are ignored during evaluation 272s ok 11 - unnamed resource can be changed to another draft version 272s ok 12 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal 272s ok 13 - no $id, specification version overridden twice, other keywords are ignored during evaluation 272s ok 14 - unnamed resource can be changed to another draft version 272s 1..14 272s ok 3 - behaviour with a $schema keyword 272s # Subtest: setting or changing schema semantics in a single document 272s ok 1 - $schema can appear adjacent to any $id 272s 1..1 272s ok 4 - setting or changing schema semantics in a single document 272s # Subtest: changing schema semantics across documents 272s ok 1 - no unexpected warnings 272s ok 2 - switching between specification versions is acceptable when crossing document boundaries 272s ok 3 - resources for top level schema 272s ok 4 - resources for subschema 272s ok 5 - no unexpected warnings 272s ok 6 - switching between specification versions is acceptable when crossing document boundaries 272s ok 7 - resources for top level schema 272s ok 8 - resources for subschema 272s 1..8 272s ok 5 - changing schema semantics across documents 272s # Subtest: changing schema semantics within documents 272s # no-longer-supported "dependencies" keyword present (at location "https://iam.draft2019-09-3.com"): this should be rewritten as "dependentSchemas" or "dependentRequired" at t/dialects.t line 673. 272s ok 1 - switching between specification versions is acceptable within a document, draft2019-09 -> draft7 272s ok 2 - resources for top level schema 272s ok 3 - resources for subschema 272s # no-longer-supported "dependencies" keyword present (at location "https://iam.draft2020-12-4.com"): this should be rewritten as "dependentSchemas" or "dependentRequired" at t/dialects.t line 777. 272s ok 4 - switching between specification versions is acceptable within a document, draft7 -> draf2020-12 272s ok 5 - resources for top level schema 272s ok 6 - resources for subschema 272s 1..6 272s ok 6 - changing schema semantics within documents 272s # Subtest: $vocabulary 272s ok 1 - $vocabulary syntax checks 272s ok 2 - $vocabulary location check - resource root 272s ok 3 - $vocabulary location check - document root 272s ok 4 - successfully evaluated a metaschema that specifies vocabularies 272s ok 5 - metaschemas are not saved on the resource 272s ok 6 - ..but once we use the schema as a metaschema, 272s ok 7 - ... the vocabulary information is now cached in the evaluator 272s 1..7 272s ok 7 - $vocabulary 272s # Subtest: standard metaschemas 272s ok 1 - main metaschema evaluated against its own URI 272s ok 2 - main metaschema evaluated against its own content 272s ok 3 - core metaschema evaluated against the main metaschema URI 272s ok 4 - core metaschema evaluated against its own content 272s 1..4 272s ok 8 - standard metaschemas 272s # Subtest: custom metaschemas, without custom vocabularies 272s ok 1 - specification version detected from standard metaschema URI 272s ok 2 - custom metaschema restricts schemas to objects 272s ok 3 - custom metaschema recurses to standard metaschema 272s ok 4 - objects are acceptable schemas to this metaschema 272s ok 5 - metaschemas without $vocabulary can still be used in the $schema keyword 272s ok 6 - ..and schema uses the correct spec version and vocabularies 272s 1..6 272s ok 9 - custom metaschemas, without custom vocabularies 272s # Subtest: custom metaschemas, with custom vocabularies 272s ok 1 - custom metaschemas are okay, but the document must be known 272s ok 2 - $vocabulary location check - document root 272s ok 3 - metaschemas must have an i$id 272s ok 4 - $vocabulary validation that must be deferred until used as a metaschema 272s ok 5 - metaschemas using "$vocabulary" must contain vocabularies 272s ok 6 - metaschemas must contain the Core vocabulary 272s ok 7 - validation succeeds because "minimum" never gets run 272s ok 8 - determined vocabularies to use for this schema 272s 1..8 272s ok 10 - custom metaschemas, with custom vocabularies 272s # Subtest: custom vocabulary classes with add_vocabulary() 272s ok 1 - vocabulary class must exist 272s ok 2 - vocabulary class must implement the role 272s ok 3 - vocabulary class must implement some subs 272s ok 4 - vocabulary() sub in the vocabulary class must return uri => specification_version pairs 272s ok 5 - parse error from bad vocab sub 272s ok 6 - vocabulary() sub in the vocabulary class must contain valid absolute, fragmentless URIs 272s ok 7 - vocabulary() sub in the vocabulary class must reference a known specification version 272s ok 8 - added a vocabulary sub 272s ok 9 - vocabulary was successfully added 272s ok 10 - custom vocabulary class has a conflicting evaluation_order 272s ok 11 - added another vocabulary sub 272s ok 12 - custom vocabulary class used by a custom metaschema used by a schema 272s 1..12 272s ok 11 - custom vocabulary classes with add_vocabulary() 272s # Subtest: $schema points to a boolean schema 272s ok 1 - $schema cannot reference a boolean schema 272s 1..1 272s ok 12 - $schema points to a boolean schema 272s 1..12 272s ok 272s t/document.t ............................ 272s # Subtest: boolean document 272s ok 1 - boolean schema with no canonical_uri 272s ok 2 - boolean schema with invalid canonical_uri (fragment) 272s ok 3 - boolean schema with valid canonical_uri 272s 1..3 272s ok 1 - boolean document 272s # Subtest: object document 272s ok 1 - object schema with no canonical_uri, no root $id 272s ok 2 - object schema with valid canonical_uri, no root $id 272s ok 3 - object schema with no canonical_uri, and absolute root $id 272s ok 4 - object schema with no canonical_uri, and absolute root $id 272s ok 5 - object schema with no canonical_uri, and absolute root $id 272s ok 6 - object schema with canonical_uri and root $id, and additional resource schemas as well 272s ok 7 - relative uri for root $id 272s ok 8 - no root $id; absolute uri with path in subschema resource 272s 1..8 272s ok 2 - object document 272s # Subtest: $id and $anchor as properties 272s ok 1 - did not index the $id and $anchor properties as if they were identifier keywords 272s 1..1 272s ok 3 - $id and $anchor as properties 272s # Subtest: $id with an empty fragment 272s ok 1 - $id is stored with the empty fragment stripped 272s 1..1 272s ok 4 - $id with an empty fragment 272s # Subtest: $id with a non-empty fragment 272s ok 1 - did not index the $id with a non-empty fragment, nor use it as the base for other identifiers 272s 1..1 272s ok 5 - $id with a non-empty fragment 272s # Subtest: $anchor not conforming to syntax 272s ok 1 - did not index an $anchor with invalid characters 272s 1..1 272s ok 6 - $anchor not conforming to syntax 272s # Subtest: $schema not conforming to syntax 272s ok 1 - invalid $schema is detected 272s 1..1 272s ok 7 - $schema not conforming to syntax 272s # Subtest: $anchor and $id below an $id that is not at the document root 272s ok 1 - canonical_uri uses the path from the innermost $id, not document root $id 272s 1..1 272s ok 8 - $anchor and $id below an $id that is not at the document root 272s # Subtest: JSON pointer and URI escaping 272s ok 1 - properly escaped special characters in JSON pointers and URIs 272s ok 2 - schema locations are tracked 272s ok 3 - non-schema locations are also tracked 272s 1..3 272s ok 9 - JSON pointer and URI escaping 272s # Subtest: resource collisions 272s ok 1 - detected collision between document's initial uri and a subschema's uri 272s ok 2 - detected collision between two subschema uris in a document 272s ok 3 - ignored "duplicate" uris embedded in non-schemas 272s ok 4 - the correct canonical uri is indexed in the inverted index 272s 1..4 272s ok 10 - resource collisions 272s # Subtest: create document with explicit canonical_uri set to the same as root $id 272s ok 1 - there is one single uri indexed to the document 272s 1..1 272s ok 11 - create document with explicit canonical_uri set to the same as root $id 272s # Subtest: canonical_uri identification from a document with errors 272s ok 1 - error lower down in document does not result in an inner identifier being used as canonical_uri 272s 1..1 272s ok 12 - canonical_uri identification from a document with errors 272s # Subtest: custom metaschema_uri 272s ok 1 - determined vocabularies to use for this schema 272s ok 2 - validation succeeds because "minimum" never gets run 272s ok 3 - can evaluate at a subschema as well, with the same vocabularies 272s ok 4 - schema validates against its metaschema, and "minimum" is ignored 272s ok 5 - no leaks in the evaluator object 272s 1..5 272s ok 13 - custom metaschema_uri 272s 1..13 272s ok 273s t/equality.t ............................ 273s # Subtest: equality, using inflated data 273s ok 1 - null == null is true 273s ok 2 - type of arg 0 was not mutated while making equality check 273s ok 3 - type of arg 1 was not mutated while making equality check 273s # 273s ok 4 - null == false is false 273s ok 5 - two instances differ at the expected place 273s ok 6 - type of arg 0 was not mutated while making equality check 273s ok 7 - type of arg 1 was not mutated while making equality check 273s # 273s ok 8 - null == true is false 273s ok 9 - two instances differ at the expected place 273s ok 10 - type of arg 0 was not mutated while making equality check 273s ok 11 - type of arg 1 was not mutated while making equality check 273s # 273s ok 12 - null == 1 is false 273s ok 13 - two instances differ at the expected place 273s ok 14 - type of arg 0 was not mutated while making equality check 273s ok 15 - type of arg 1 was not mutated while making equality check 273s # 273s ok 16 - null == "1" is false 273s ok 17 - two instances differ at the expected place 273s ok 18 - type of arg 0 was not mutated while making equality check 273s ok 19 - type of arg 1 was not mutated while making equality check 273s # 273s ok 20 - ["a","b","c"] == ["a","b","c"] is true 273s ok 21 - type of arg 0 was not mutated while making equality check 273s ok 22 - type of arg 1 was not mutated while making equality check 273s # 273s ok 23 - ["a","b","c"] == ["a","b"] is false 273s ok 24 - two instances differ at the expected place 273s ok 25 - type of arg 0 was not mutated while making equality check 273s ok 26 - type of arg 1 was not mutated while making equality check 273s # 273s ok 27 - ["a","b"] == ["b","a"] is false 273s ok 28 - two instances differ at the expected place 273s ok 29 - type of arg 0 was not mutated while making equality check 273s ok 30 - type of arg 1 was not mutated while making equality check 273s # 273s ok 31 - 1 == 1 is true 273s ok 32 - type of arg 0 was not mutated while making equality check 273s ok 33 - type of arg 1 was not mutated while making equality check 273s # 273s ok 34 - 1 == 1.0 is true 273s ok 35 - type of arg 0 was not mutated while making equality check 273s ok 36 - type of arg 1 was not mutated while making equality check 273s # 273s ok 37 - 1 == "1.0" is false 273s ok 38 - two instances differ at the expected place 273s ok 39 - type of arg 0 was not mutated while making equality check 273s ok 40 - type of arg 1 was not mutated while making equality check 273s # 273s ok 41 - "1.1" == 1.1 is false 273s ok 42 - two instances differ at the expected place 273s ok 43 - type of arg 0 was not mutated while making equality check 273s ok 44 - type of arg 1 was not mutated while making equality check 273s # 273s ok 45 - "1" == 1 is false 273s ok 46 - two instances differ at the expected place 273s ok 47 - type of arg 0 was not mutated while making equality check 273s ok 48 - type of arg 1 was not mutated while making equality check 273s # 273s ok 49 - "1.1" == 1.1 is false 273s ok 50 - two instances differ at the expected place 273s ok 51 - type of arg 0 was not mutated while making equality check 273s ok 52 - type of arg 1 was not mutated while making equality check 273s # 273s ok 53 - [1,2] == [2,1] is false 273s ok 54 - two instances differ at the expected place 273s ok 55 - type of arg 0 was not mutated while making equality check 273s ok 56 - type of arg 1 was not mutated while making equality check 273s # 273s ok 57 - {"b":2,"a":1} == {"b":2,"a":1} is true 273s ok 58 - type of arg 0 was not mutated while making equality check 273s ok 59 - type of arg 1 was not mutated while making equality check 273s # 273s ok 60 - {"a":1} == {"a":1.0} is true 273s ok 61 - type of arg 0 was not mutated while making equality check 273s ok 62 - type of arg 1 was not mutated while making equality check 273s # 273s ok 63 - ["école","ಠ_ಠ"] == ["école","ಠ_ಠ"] is true 273s ok 64 - type of arg 0 was not mutated while making equality check 273s ok 65 - type of arg 1 was not mutated while making equality check 273s # 273s ok 66 - {"b":2,"a":1} == {"a":1,"b":3} is false 273s ok 67 - two instances differ at the expected place 273s ok 68 - type of arg 0 was not mutated while making equality check 273s ok 69 - type of arg 1 was not mutated while making equality check 273s # 273s ok 70 - {"d":{"f":4,"e":3},"a":{"c":2,"b":1}} == {"a":{"b":1,"c":2},"d":{"e":3,"f":5}} is false 273s ok 71 - two instances differ at the expected place 273s ok 72 - type of arg 0 was not mutated while making equality check 273s ok 73 - type of arg 1 was not mutated while making equality check 273s # 273s 1..73 273s ok 1 - equality, using inflated data 273s # Subtest: equality, using JSON strings 273s ok 1 - null == null is true 273s ok 2 - type of arg 0 was not mutated while making equality check 273s ok 3 - type of arg 1 was not mutated while making equality check 273s # 273s ok 4 - null == 1 is false 273s ok 5 - two instances differ at the expected place 273s ok 6 - type of arg 0 was not mutated while making equality check 273s ok 7 - type of arg 1 was not mutated while making equality check 273s # 273s ok 8 - ["a","b","c"] == ["a","b","c"] is true 273s ok 9 - type of arg 0 was not mutated while making equality check 273s ok 10 - type of arg 1 was not mutated while making equality check 273s # 273s ok 11 - ["a","b","c"] == ["a","b"] is false 273s ok 12 - two instances differ at the expected place 273s ok 13 - type of arg 0 was not mutated while making equality check 273s ok 14 - type of arg 1 was not mutated while making equality check 273s # 273s ok 15 - ["a","b"] == ["b","a"] is false 273s ok 16 - two instances differ at the expected place 273s ok 17 - type of arg 0 was not mutated while making equality check 273s ok 18 - type of arg 1 was not mutated while making equality check 273s # 273s ok 19 - 1 == 1 is true 273s ok 20 - type of arg 0 was not mutated while making equality check 273s ok 21 - type of arg 1 was not mutated while making equality check 273s # 273s ok 22 - 1 == 1.0 is true 273s ok 23 - type of arg 0 was not mutated while making equality check 273s ok 24 - type of arg 1 was not mutated while making equality check 273s # 273s ok 25 - 10 == 10.0 is true 273s ok 26 - type of arg 0 was not mutated while making equality check 273s ok 27 - type of arg 1 was not mutated while making equality check 273s # 273s ok 28 - [1,2] == [2,1] is false 273s ok 29 - two instances differ at the expected place 273s ok 30 - type of arg 0 was not mutated while making equality check 273s ok 31 - type of arg 1 was not mutated while making equality check 273s # 273s ok 32 - {"b":2,"a":1} == {"a":1,"b":2} is true 273s ok 33 - type of arg 0 was not mutated while making equality check 273s ok 34 - type of arg 1 was not mutated while making equality check 273s # 273s ok 35 - {"a":1} == {"a":1.0} is true 273s ok 36 - type of arg 0 was not mutated while making equality check 273s ok 37 - type of arg 1 was not mutated while making equality check 273s # 273s ok 38 - ["école","ಠ_ಠ"] == ["école","ಠ_ಠ"] is true 273s ok 39 - type of arg 0 was not mutated while making equality check 273s ok 40 - type of arg 1 was not mutated while making equality check 273s # 273s ok 41 - {"b":2,"a":1} == {"a":1,"b":3} is false 273s ok 42 - two instances differ at the expected place 273s ok 43 - type of arg 0 was not mutated while making equality check 273s ok 44 - type of arg 1 was not mutated while making equality check 273s # 273s ok 45 - {"d":{"e":3,"f":4},"a":{"b":1,"c":2}} == {"a":{"b":1,"c":2},"d":{"f":5,"e":3}} is false 273s ok 46 - two instances differ at the expected place 273s ok 47 - type of arg 0 was not mutated while making equality check 273s ok 48 - type of arg 1 was not mutated while making equality check 273s # 273s 1..48 273s ok 2 - equality, using JSON strings 273s # Subtest: equality, using scalarref_booleans 273s ok 1 - false == true is false 273s ok 2 - two instances differ at the expected place 273s ok 3 - type of arg 0 was not mutated while making equality check 273s ok 4 - type of arg 1 was not mutated while making equality check 273s # 273s ok 5 - true == true is true 273s ok 6 - type of arg 0 was not mutated while making equality check 273s ok 7 - type of arg 1 was not mutated while making equality check 273s # 273s ok 8 - false == false is true 273s ok 9 - type of arg 0 was not mutated while making equality check 273s ok 10 - type of arg 1 was not mutated while making equality check 273s # 273s ok 11 - true == false is false 273s ok 12 - two instances differ at the expected place 273s ok 13 - type of arg 0 was not mutated while making equality check 273s ok 14 - type of arg 1 was not mutated while making equality check 273s # 273s ok 15 - null == false is false 273s ok 16 - two instances differ at the expected place 273s ok 17 - type of arg 0 was not mutated while making equality check 273s ok 18 - type of arg 1 was not mutated while making equality check 273s # 273s ok 19 - null == false is false 273s ok 20 - two instances differ at the expected place 273s ok 21 - type of arg 0 was not mutated while making equality check 273s ok 22 - type of arg 1 was not mutated while making equality check 273s # 273s 1..22 273s ok 3 - equality, using scalarref_booleans 273s # Subtest: equality, using stringy_numbers 273s ok 1 - 1 == 1 is true 273s ok 2 - type of arg 0 was not mutated while making equality check 273s ok 3 - type of arg 1 was not mutated while making equality check 273s # 273s ok 4 - 1 == 1.0 is true 273s ok 5 - type of arg 0 was not mutated while making equality check 273s ok 6 - type of arg 1 was not mutated while making equality check 273s # 273s ok 7 - 1 == "1.0" is true 273s ok 8 - type of arg 0 was not mutated while making equality check 273s ok 9 - type of arg 1 was not mutated while making equality check 273s # 273s ok 10 - "1.1" == 1.1 is true 273s ok 11 - type of arg 0 was not mutated while making equality check 273s ok 12 - type of arg 1 was not mutated while making equality check 273s # 273s ok 13 - "1" == 1 is true 273s ok 14 - type of arg 0 was not mutated while making equality check 273s ok 15 - type of arg 1 was not mutated while making equality check 273s # 273s ok 16 - "1.1" == 1.1 is true 273s ok 17 - type of arg 0 was not mutated while making equality check 273s ok 18 - type of arg 1 was not mutated while making equality check 273s # 273s ok 19 - "1" == "1.00" is true 273s ok 20 - type of arg 0 was not mutated while making equality check 273s ok 21 - type of arg 1 was not mutated while making equality check 273s # 273s ok 22 - "1.10" == "1.1000" is true 273s ok 23 - type of arg 0 was not mutated while making equality check 273s ok 24 - type of arg 1 was not mutated while making equality check 273s # 273s ok 25 - "x" == "x" is true 273s ok 26 - type of arg 0 was not mutated while making equality check 273s ok 27 - type of arg 1 was not mutated while making equality check 273s # 273s ok 28 - "x" == "y" is false 273s ok 29 - two instances differ at the expected place 273s ok 30 - type of arg 0 was not mutated while making equality check 273s ok 31 - type of arg 1 was not mutated while making equality check 273s # 273s 1..31 273s ok 4 - equality, using stringy_numbers 273s 1..4 273s ok 273s t/errors.t .............................. 273s # Subtest: multiple types 273s ok 1 - type returned false 273s ok 2 - got error count 273s ok 3 - correct error generated from type 273s ok 4 - result object serializes correctly 273s 1..4 273s ok 1 - multiple types 273s # Subtest: multipleOf 273s ok 1 - correct error generated from multipleOf 273s 1..1 273s ok 2 - multipleOf 273s # Subtest: uniqueItems 273s ok 1 - correct error generated from uniqueItems 273s 1..1 273s ok 3 - uniqueItems 273s # Subtest: allOf, not, and false schema 273s ok 1 - correct errors with locations; did not collect errors inside "not" 273s ok 2 - short-circuited results contain fewer errors 273s 1..2 273s ok 4 - allOf, not, and false schema 273s # Subtest: anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid 273s ok 1 - correct errors with locations; did not collect errors inside "not" 273s ok 2 - short-circuited results contain the same errors (short-circuiting not possible) 273s ok 3 - did not collect errors from failure paths from successful anyOf 273s ok 4 - no errors collected for true validation 273s 1..4 273s ok 5 - anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid 273s # Subtest: applicators with non-boolean subschemas, discarding intermediary errors - items 273s ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors) 273s ok 2 - short-circuited results contain fewer errors 273s 1..2 273s ok 6 - applicators with non-boolean subschemas, discarding intermediary errors - items 273s # Subtest: applicators with non-boolean subschemas, discarding intermediary errors - contains 273s ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors) 273s ok 2 - short-circuited results contain the same errors 273s 1..2 273s ok 7 - applicators with non-boolean subschemas, discarding intermediary errors - contains 273s # Subtest: errors with $refs 273s ok 1 - errors have correct absolute keyword location via $ref 273s 1..1 273s ok 8 - errors with $refs 273s # Subtest: const and enum 273s ok 1 - got details about object differences in errors from const and enum 273s 1..1 273s ok 9 - const and enum 273s # Subtest: exceptions 273s ok 1 - attempting to evaluate a json string returns the exception as an error 273s ok 2 - exception flag is true on the result 273s ok 3 - a subschema of an invalid type returns an error at the right position, and evaluation continues 273s ok 4 - exception flag is true on the result 273s ok 5 - invalid argument to "type" returns an error at the right position, and evaluation continues 273s ok 6 - exception flag is true on the result 273s 1..6 273s ok 10 - exceptions 273s # Subtest: errors after crossing multiple $refs using $id and $anchor 273s ok 1 - errors have correct absolute keyword location via $ref 273s ok 2 - absolute keyword location is correct, even when not used in the $ref 273s 1..2 273s ok 11 - errors after crossing multiple $refs using $id and $anchor 273s # Subtest: unresolvable $ref to a local resource 273s ok 1 - error for a bad $ref reports the correct absolute location that was referred to 273s ok 2 - exception flag is true on the result 273s 1..2 273s ok 12 - unresolvable $ref to a local resource 273s # Subtest: unresolvable $ref to a remote resource 273s ok 1 - error for a bad $ref reports the correct absolute location that was referred to 273s ok 2 - exception flag is true on the result 273s 1..2 273s ok 13 - unresolvable $ref to a remote resource 273s # Subtest: unresolvable $ref to plain-name fragment 273s ok 1 - properly handled a bad $ref to an anchor 273s ok 2 - exception flag is true on the result 273s 1..2 273s ok 14 - unresolvable $ref to plain-name fragment 273s # Subtest: abort due to a schema error 273s ok 1 - exception inside a oneOf (where errors are localized) are still included in the result 273s 1..1 273s ok 15 - abort due to a schema error 273s # Subtest: sorted property names 273s ok 1 - property names are considered in sorted order 273s 1..1 273s ok 16 - sorted property names 273s # Subtest: bad regex in schema 273s ok 1 - bad "pattern" and "patternProperties" regexes are properly noted in error 273s ok 2 - bad "pattern" regex is properly noted in error 273s ok 3 - "pattern" regex is now valid, due to the Unicode property becoming defined 273s 1..3 273s ok 17 - bad regex in schema 273s # Subtest: JSON pointer escaping 273s ok 1 - JSON pointers are properly escaped; URIs doubly so 273s ok 2 - absoluteKeywordLocation is omitted when paths are the same, not counting uri encoding 273s ok 3 - use of _schema_path_suffix in a fatal error 273s 1..3 273s ok 18 - JSON pointer escaping 273s # Subtest: absoluteKeywordLocation 273s ok 1 - absoluteKeywordLocation is included when different from instanceLocation, even when empty 273s ok 2 - absoluteKeywordLocation is not included when the path equals keywordLocation, even if a $ref is present 273s ok 3 - absoluteKeywordLocation is never "\#" 273s ok 4 - absoluteKeywordLocation reflects the canonical schema uri as it changes when passing through $id 273s ok 5 - plain-name fragment in $id does not change canonical schema uri 273s 1..5 273s ok 19 - absoluteKeywordLocation 273s # Subtest: dependentRequired 273s ok 1 - dependentRequired traversal error 273s 1..1 273s ok 20 - dependentRequired 273s # Subtest: evaluate in the middle of a document 273s ok 1 - provided evaluation uri does not exist 273s ok 2 - error has correct locations from override hash 273s 1..2 273s ok 21 - evaluate in the middle of a document 273s # Subtest: numbers in output 273s ok 1 - numbers in errors do not lose any digits of precision 273s 1..1 273s ok 22 - numbers in output 273s # Subtest: effective_base_uri 273s ok 1 - error locations are relative to the effective_base_uri, but $ref usage is not restricted 273s 1..1 273s ok 23 - effective_base_uri 273s # Subtest: recommended_response 273s ok 1 - recommended_response is not defined when there are no errors 273s ok 2 - recommended_response uses the first error in the result 273s ok 3 - recommended_response indicates an exception occurred 273s ok 4 - recommended_response uses the one from the error that is explicitly set 273s 1..4 273s ok 24 - recommended_response 273s 1..24 273s ok 273s t/evaluate_json_string.t ................ 273s ok 1 - we have a JSON decoder 273s ok 2 - json data "true" is evaluated successfully 273s ok 3 - no exceptions in evaluate_json_string on good json 273s ok 4 - result object serializes correctly 273s ok 5 - no exceptions in evaluate_json_string on bad json 273s 1..5 273s ok 274s t/find-identifiers.t .................... 274s # Subtest: $id sets canonical uri 274s ok 1 - $id was recognized - $ref was successfully traversed 274s ok 2 - resources indexed; document canonical_uri is still unset 274s ok 3 - the same document object is indexed under both URIs 274s ok 4 - the schema contains no blessed leaf nodes 274s 1..4 274s ok 1 - $id sets canonical uri 274s # Subtest: anchors 274s ok 1 - $id was recognized - absolute locations use json paths, not anchors 274s ok 2 - internal resource index is correct 274s 1..2 274s ok 2 - anchors 274s # Subtest: $anchor at root without $id 274s ok 1 - $id without anchor was recognized - absolute locations use json paths, not anchors 274s ok 2 - internal resource index is correct 274s 1..2 274s ok 3 - $anchor at root without $id 274s # Subtest: $ids and $anchors in subschemas after $id changes 274s ok 1 - $anchor is legal in a subschema 274s ok 2 - internal resource index is correct 274s 1..2 274s ok 4 - $ids and $anchors in subschemas after $id changes 274s # Subtest: invalid $id and $anchor 274s ok 1 - bad $id and $anchor are detected, even if bad definitions are not traversed 274s ok 2 - "bad" $ids and $anchors that are not actually keywords are not reported as errors 274s 1..2 274s ok 5 - invalid $id and $anchor 274s # Subtest: nested $ids 274s ok 1 - errors have the correct location 274s ok 2 - properly resolved all the nested $ids 274s 1..2 274s ok 6 - nested $ids 274s # Subtest: multiple documents, each using canonical_uri = "" 274s ok 1 - evaluation of schema1 274s ok 2 - resources in initial schema are indexed 274s ok 3 - successful evaluation of schema2 274s ok 4 - resources in second schema are indexed; all resources from first schema are preserved except uri="" 274s 1..4 274s ok 7 - multiple documents, each using canonical_uri = "" 274s # Subtest: multiple documents, each using canonical_uri = "", collisions in other resources 274s ok 1 - evaluation of schema1 274s ok 2 - resources in initial schema are indexed 274s ok 3 - schema2 cannot be evaluated - an internal $id collides with an existing resource 274s 1..3 274s ok 8 - multiple documents, each using canonical_uri = "", collisions in other resources 274s # Subtest: resource collisions in canonical uris 274s ok 1 - detected collision between a document's initial uri and a document's subschema's uri 274s ok 2 - detected collision between two document subschema uris 274s 1..2 274s ok 9 - resource collisions in canonical uris 274s # Subtest: relative uri in $id 274s ok 1 - root schema location is correctly identified 274s ok 2 - properly able to traverse a recursive schema using a relative $id 274s 1..2 274s ok 10 - relative uri in $id 274s 1..10 274s ok 274s t/formats.t ............................. 274s # Subtest: no validation 274s ok 1 - validate_formats=0 disables format assertion behaviour; annotation is still produced 274s ok 2 - format validation can be turned off in evaluate() 274s 1..2 274s ok 1 - no validation 274s # Subtest: simple validation 274s ok 1 - non-string values are valid, and produce an annotation 274s ok 2 - simple success 274s ok 3 - simple failure 274s ok 4 - format_validation defaults to false 274s ok 5 - format validation can be turned on in evaluate() 274s ok 6 - ...but the value is still false on the object 274s 1..6 274s ok 2 - simple validation 274s # Subtest: override a format sub 274s ok 1 - check syntax of override to existing format via constructor 274s ok 2 - check syntax of override format name to existing format via setter 274s ok 3 - check syntax of override definition value to existing format via setter 274s ok 4 - type is required if passing a hashref 274s ok 5 - cannot override a core format to support a different data type 274s ok 6 - can override a core format definition, as long as it uses the same type 274s ok 7 - check syntax of implementation for a new format 274s ok 8 - check syntax of implementation when adding an override to existing format 274s ok 9 - check syntax of implementation when adding a new format 274s ok 10 - swapping out format implementation turns success into failure; wrong types are still valid 274s ok 11 - can override a custom format definition to use a different type 274s 1..11 274s ok 3 - override a format sub 274s # Subtest: toggle validate_formats after adding schema 274s ok 1 - assertion behaviour is off initially 274s ok 2 - assertion behaviour can be enabled later with an already-loaded schema 274s ok 3 - valid assertion behaviour does not die 274s ok 4 - a schema document can be used with another evaluator with assertion behaviour 274s ok 5 - valid assertion behaviour does not die 274s 1..5 274s ok 4 - toggle validate_formats after adding schema 274s # Subtest: custom metaschemas 274s ok 1 - custom metaschema using format-assertion=true validates formats 274s ok 2 - custom metaschema using format-assertion=true validates formats 274s 1..2 274s ok 5 - custom metaschemas 274s # Subtest: core formats added after draft7 274s ok 1 - duration is not implemented in draft7 274s ok 2 - uuid is not implemented in draft7 274s 1..2 274s ok 6 - core formats added after draft7 274s # Subtest: unimplemented core formats 274s ok 1 - draft7 with validate_formats = 1, no error when an unimplemented core format is used 274s ok 2 - draft2019-09 with validate_formats = 1, no error when an unimplemented core format is used 274s ok 3 - draft2020-12 with validate_formats = 1, no error when an unimplemented core format is used 274s ok 4 - draft2020-12 with Format-Assertion vocabulary: error when an unimplemented core format is used 274s ok 5 - draft2020-12 with Format-Assertion vocabulary: error is seen even when containing subschema would be true 274s 1..5 274s ok 7 - unimplemented core formats 274s # Subtest: unknown custom formats 274s ok 1 - draft7: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure 274s ok 2 - draft2019-09: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced 274s ok 3 - draft2020-12: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced 274s ok 4 - draft2020-12: for format validation with the Format-Assertion vocabulary, unrecognized format attributes are detected at traverse time 274s 1..4 274s ok 8 - unknown custom formats 274s # Subtest: format: pure_integer 274s ok 1 - pure_integer format with type 274s ok 2 - pure_integer format without type 274s 1..2 274s ok 9 - format: pure_integer 274s # Subtest: formats supporting multiple core types 274s ok 1 - int64 format without type - accepts both numbers and strings 274s ok 2 - int64 format without type - accepts both numbers and strings 274s 1..2 274s ok 10 - formats supporting multiple core types 274s # Subtest: stringy numbers with a numeric format 274s ok 1 - FormatAnnotation+validate_formats: strings that look like numbers can be validated against a numeric format when stringy_numbers=1 274s ok 2 - FormatAssertion: strings that look like numbers can be validated against a numeric format when stringy_numbers=1 274s 1..2 274s ok 11 - stringy numbers with a numeric format 274s 1..11 274s ok 275s t/invalid-schemas-draft2019-09.t ........ 275s # AUTHOR_TESTING: 275s # AUTOMATED_TESTING: 1 275s # EXTENDED_TESTING: 275s # NO_TODO: 275s # TEST_DIR: 275s # NO_SHORT_CIRCUIT: 275s # 275s # running tests in /tmp/autopkgtest.YgRYGQ/autopkgtest_tmp/smokeZ9x1T4/t/invalid-schemas-draft2019-09 against draft2019-09... 275s # 275s ok 1 - invalid-input.json: "invalid user input: type (string)" - "graceful error from 'type' (string)" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "type value is not a string", 275s # "instanceLocation": "", 275s # "keywordLocation": "/type" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "type value is not a string", 275s # "instanceLocation": "", 275s # "keywordLocation": "/type" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s ok 2 - invalid-input.json: "invalid user input: type (array)" - "graceful error from 'type' (array)" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "unrecognized type \"\"", 275s # "instanceLocation": "", 275s # "keywordLocation": "/type" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "unrecognized type \"\"", 275s # "instanceLocation": "", 275s # "keywordLocation": "/type" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s # 275s ok 3 - ref.json: "invalid $ref: unencoded characters" - "unencoded characters in $ref uri" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "$ref value is not a valid URI reference", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$defs/foo/$ref" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "$ref value is not a valid URI reference", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$defs/foo/$ref" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s ok 4 - ref.json: "invalid $ref: non-ascii characters" - "non-ascii characters in $ref uri" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "$ref value is not a valid URI reference", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$defs/foo/$ref" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "$ref value is not a valid URI reference", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$defs/foo/$ref" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s # 275s ok 5 - vocabulary.json: "invalid $vocabulary: need boolean values" - "an invalid $vocabulary value (value should be a boolean)" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "$vocabulary value at \"https://foo.com\" is not a boolean", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/https:~1~1foo.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "$vocabulary value at \"https://foo.com\" is not a boolean", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/https:~1~1foo.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s ok 6 - vocabulary.json: "invalid $vocabulary: uri must not have unencoded characters" - "unencoded characters in $vocabulary uri" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "\"http://foo^bar/path\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "\"http://foo^bar/path\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s ok 7 - vocabulary.json: "invalid $vocabulary: non-ascii characters in uri" - "non-ascii characters in $vocabulary uri" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "\"https://ಠ_ಠ.com\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "\"https://ಠ_ಠ.com\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s ok 8 - vocabulary.json: "invalid $vocabulary: missing scheme" - "$vocabulary uri is missing a scheme" { 275s # result: { 275s # "errors": [ 275s # { 275s # "error": "\"foo.com\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/foo.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s # short-circuited result: { 275s # "errors": [ 275s # { 275s # "error": "\"foo.com\" is not a valid URI", 275s # "instanceLocation": "", 275s # "keywordLocation": "/$vocabulary/foo.com" 275s # } 275s # ], 275s # "valid": false 275s # } 275s ok 1 - test passes: data is valid: false 275s 1..1 275s } 275s # 275s # 275s # Results using Test::JSON::Schema::Acceptance 1.021 275s # specification version: draft2019-09 275s # using custom test directory: t/invalid-schemas-draft2019-09 275s # optional tests included: no 275s # 275s # filename pass todo-fail fail 275s # --------------------------------------------------------------- 275s # invalid-input.json 2 0 0 275s # ref.json 2 0 0 275s # vocabulary.json 4 0 0 275s # --------------------------------------------------------------- 275s # TOTAL 8 0 0 275s # 275s # Congratulations, all non-optional tests are passing! 275s # 275s ok 9 - no leaks in the main evaluator object 275s ok 10 - no leaks in the short-circuiting evaluator object 275s 1..10 275s ok 275s t/max_traversal_depth.t ................. 275s ok 1 - evaluation is halted when traversal gets too deep 275s ok 2 - evaluation is halted when an instance location is evaluated against the same schema location a second time 275s ok 3 - the seen counter does not confuse URI paths and fragments: /properties/foo vs \#/properties/foo 275s ok 4 - the seen counter does not confuse two subschemas that both apply the same definition to the same instance location 275s 1..4 275s ok 276s t/output_format.t ....................... 276s ok 1 - output_format defaults to basic 276s ok 2 - Result object gets the output_format from the evaluator 276s ok 3 - basic format includes all errors linearly 276s ok 4 - flag format only includes the valid property 276s ok 5 - terse format omits errors from redundant applicator keywords 276s ok 6 - basic format includes all errors linearly 276s ok 7 - terse format does not omit these crucial errors 276s # Subtest: strict_basic 276s ok 1 - strict_basic turns json pointers into URIs, including uri escapes 276s 1..1 276s ok 8 - strict_basic 276s # Subtest: AND two result objects together 276s ok 1 - ANDing true and false results = invalid, but errors and annotations both preserved 276s ok 2 - ANDing two true results = valid 276s ok 3 - ANDing two false results = invalid 276s ok 4 - only Result objects can be processed 276s ok 5 - ANDing a result with itself is a no-op 276s 1..5 276s ok 9 - AND two result objects together 276s # Subtest: annotations 276s ok 1 - by default, annotations are included in the formatted output 276s ok 2 - but inclusion can be disabled 276s 1..2 276s ok 10 - annotations 276s # Subtest: data_only 276s ok 1 - data_only format outputs a string of data locations only, with duplicates removed 276s ok 2 - data_only format uses keyword locations when result came from traverse 276s 1..2 276s ok 11 - data_only 276s 1..11 276s ok 276s t/pattern.t ............................. 276s ok 1 - unchanged LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 276s ok 2 - unchanged LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 276s ok 3 - upgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 276s ok 4 - upgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 276s ok 5 - downgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z] 276s ok 6 - downgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching 276s # Subtest: empty pattern 276s ok 1 - empty pattern in "pattern" will correctly match 276s ok 2 - empty pattern in "patternProperties" will correctly match 276s 1..2 276s ok 7 - empty pattern 276s 1..7 276s ok 277s t/ref.t ................................. 277s # Subtest: local JSON pointer 277s ok 1 - can follow local $ref to a true schema 277s ok 2 - can follow local $ref to a false schema 277s ok 3 - got error for unresolvable ref 277s ok 4 - no exception 277s 1..4 277s ok 1 - local JSON pointer 277s # Subtest: fragment with URI-escaped and JSON Pointer-escaped characters 277s ok 1 - can follow $ref with escaped components 277s 1..1 277s ok 2 - fragment with URI-escaped and JSON Pointer-escaped characters 277s # Subtest: local anchor 277s ok 1 - can follow local $ref to an $anchor to a true schema 277s ok 2 - can follow local $ref to an $anchor to a false schema 277s ok 3 - got error for unresolvable ref 277s ok 4 - no exception 277s 1..4 277s ok 3 - local anchor 277s # Subtest: $id with an empty fragment 277s ok 1 - $id with empty fragment can be found by $ref that did not include it; fragment not included in error either 277s 1..1 277s ok 4 - $id with an empty fragment 277s # Subtest: $recursiveRef without nesting behaves like $ref 277s ok 1 - $recursiveRef without nested $recursiveAnchor behaves like $ref 277s 1..1 277s ok 5 - $recursiveRef without nesting behaves like $ref 277s # Subtest: $recursiveRef without $recursiveAnchor behaves like $ref 277s ok 1 - $recursiveRef without $recursiveAnchor behaves like $ref 277s 1..1 277s ok 6 - $recursiveRef without $recursiveAnchor behaves like $ref 277s # Subtest: $recursiveAnchor must be at a schema resource root 277s ok 1 - $recursiveAnchor can only appear at a schema resource root 277s ok 2 - schema now valid when an $id is added 277s ok 3 - $recursiveAnchor can only appear at a schema resource root 277s ok 4 - properly detecting a bad $recursiveAnchor even before passing through a $ref 277s 1..4 277s ok 7 - $recursiveAnchor must be at a schema resource root 277s # Subtest: $recursiveAnchor and $recursiveRef - standard usecases 277s ok 1 - validation requires the override that is not in scope 277s ok 2 - $recursiveRef requires a $recursiveAnchor that does not exist 277s ok 3 - $recursiveRef with both $recursiveAnchors in scope 277s 1..3 277s ok 8 - $recursiveAnchor and $recursiveRef - standard usecases 277s # Subtest: $recursiveRef without $recursiveAnchor 277s ok 1 - $ref - one level recursion 277s ok 2 - $recursiveRef with no $recursiveAnchor in scope has the same outcome 277s 1..2 277s ok 9 - $recursiveRef without $recursiveAnchor 277s # Subtest: $recursiveAnchor in our dynamic scope, but not in the target schema 277s ok 1 - $recursiveAnchor does not exist in the target schema - local recursion only, so integers match 277s ok 2 - $recursiveAnchor does not exist in the target schema - no recursion 277s ok 3 - $recursiveAnchor does not exist in the target schema - local recursion only 277s 1..3 277s ok 10 - $recursiveAnchor in our dynamic scope, but not in the target schema 277s # Subtest: $dynamicRef without nesting behaves like $ref 277s ok 1 - $dynamicRef without nested $dynamicAnchor behaves like $ref 277s 1..1 277s ok 11 - $dynamicRef without nesting behaves like $ref 277s # Subtest: $recursiveRef without $dynamicAnchor behaves like $ref 277s ok 1 - $dynamicRef without $dynamicAnchor behaves like $ref 277s 1..1 277s ok 12 - $recursiveRef without $dynamicAnchor behaves like $ref 277s # Subtest: $dynamicAnchor and $dynamicRef - standard usecases 277s ok 1 - validation requires the override that is not in scope 277s ok 2 - $dynamicRef requires a $dynamicAnchor that does not exist 277s ok 3 - $dynamicRef must use a URI containing the dynamic anchor fragment 277s ok 4 - there is no outer $dynamicAnchor in scope to recurse to 277s ok 5 - we have an outer $dynamicAnchor, and are using the fragment URI, but we used $ref rather than $dynamicRef 277s ok 6 - there is an outer $dynamicAnchor in scope to recurse to, but $dynamicRef must use a URI containing the dynamic anchor fragment 277s ok 7 - now everything is in place to recurse to the base 277s ok 8 - there is no $dynamicAnchor at the original target, and no anchor used in the target URI 277s 1..8 277s ok 13 - $dynamicAnchor and $dynamicRef - standard usecases 277s # Subtest: $dynamicRef to $dynamicAnchor not directly in the evaluation path 277s ok 1 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type does not match 277s ok 2 - regular $anchor in dynamic scope should not be used by $dynamicRef 277s ok 3 - some other $dynamicAnchor in dynamic scope should not be used by $dynamicRef 277s ok 4 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type matches 277s ok 5 - the first dynamic scope is set by document uri, not just the $id keyword 277s 1..5 277s ok 14 - $dynamicRef to $dynamicAnchor not directly in the evaluation path 277s # Subtest: after leaving a dynamic scope, it should not be used by a $dynamicRef 277s ok 1 - first_scope is no longer in scope, so it is not used by $dynamicRef 277s 1..1 277s ok 15 - after leaving a dynamic scope, it should not be used by a $dynamicRef 277s # Subtest: anchors do not match 277s ok 1 - $dynamicRef goes to enhanced schema 277s ok 2 - $dynamicRef -> $dynamicAnchor -> $anchor is a no go: we stay at the original schema 277s 1..2 277s ok 16 - anchors do not match 277s # Subtest: reference to a non-schema location 277s ok 1 - $ref to a non-schema is not permitted 277s ok 2 - $dynamicRef to a non-schema is not permitted 277s ok 3 - $recursiveRef to a non-schema is not permitted 277s ok 4 - $schema to a non-schema is not permitted 277s 1..4 277s ok 17 - reference to a non-schema location 277s # Subtest: evaluate at a non-schema location 277s ok 1 - evaluating at a non-schema location is not permitted 277s 1..1 277s ok 18 - evaluate at a non-schema location 277s 1..18 277s ok 278s t/serialization.t ....................... 278s # Seeded srand with seed '20240324' from local date. 278s ok 1 - evaluated against an empty schema 278s ok 2 - evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 278s ok 3 - evaluate data against schema with custom dialect; format-annotation is used 278s ok 4 - frozen object contains all the right keys 278s ok 5 - thawed object contains all the right keys 278s ok 6 - evaluate again against an empty schema 278s ok 7 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 278s ok 8 - evaluate again against an empty schema 278s ok 9 - core vocabulary_class for a different spec version works in a thawed object 278s ok 10 - format-assertion vocabulary_class works in a thawed object 278s ok 11 - metaschema_vocabulary_classes works in a thawed object 278s ok 12 - media_type works in a thawed object 278s ok 13 - encoding works in a thawed object 278s # Seeded srand with seed '20240324' from local date. 278s ok 14 - thaw object in a separate process { 278s ok 1 - thawed object in a new process contains all the right keys 278s ok 2 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations 278s ok 3 - evaluate data against schema with custom dialect; format-assertion is used 278s 1..3 278s } 278s ok 15 - child process finished successfully 278s 1..15 278s ok 278s t/specification_version.t ............... 278s ok 1 - unrecognized $SPECIFICATION_VERSION 278s # Subtest: specification aliases 278s ok 1 - 2020-12 is an alias for draft2020-12 278s ok 2 - 2019-09 is an alias for draft2019-09 278s ok 3 - 7 is an alias for draft7 278s 1..3 278s ok 2 - specification aliases 278s # Subtest: $ref and older specification versions 278s ok 1 - $schema and $ref cannot be used together, when $schema is too old 278s 1..1 278s ok 3 - $ref and older specification versions 278s # Subtest: <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored 278s ok 1 - keywords adjacent to $ref are not evaluated 278s 1..1 278s ok 4 - <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored 278s # Subtest: $ref adjacent to a path used in a $ref 278s ok 1 - the presence of $ref also blocks the use of other $refs to adjacent locations 278s 1..1 278s ok 5 - $ref adjacent to a path used in a $ref 278s # Subtest: $defs support 278s ok 1 - $defs is not recognized in <= draft7 278s ok 2 - $defs is supported in > draft7 278s 1..2 278s ok 6 - $defs support 278s # Subtest: definitions support 278s ok 1 - definitions is not recognized in >= draft2019-09 278s ok 2 - warned when using no-longer-supported keyword 278s ok 3 - definitions is supported in <= draft7 278s 1..3 278s ok 7 - definitions support 278s # Subtest: dependencies, dependentRequired, dependentSchemas 278s ok 1 - dependencies is not recognized in >= draft2019-09 278s ok 2 - warned when using no-longer-supported keyword 278s ok 3 - dependentRequired is supported in >= draft2019-09 278s ok 4 - dependentSchemas is supported in >= draft2019-09 278s ok 5 - dependencies is supported in <= draft7 278s ok 6 - dependentRequired is not recognized in <= draft7 278s ok 7 - dependentSchemas is not recognized in <= draft7 278s 1..7 278s ok 8 - dependencies, dependentRequired, dependentSchemas 278s # Subtest: prefixItems, items and additionalItems 278s ok 1 - prefixitems+items works when specification_version >= draft2020-12 278s ok 2 - array form of items not supported when specification_version >= draft2020-12 278s ok 3 - additionalitems not recognized when specification_version >= draft2020-12 278s ok 4 - warned when using no-longer-supported keyword 278s ok 5 - prefixitems not supported when specification_version specifies other than draft2020-12 278s ok 6 - array-based items in >= draft2020-12 278s ok 7 - prefixItems + additionalItems 278s ok 8 - warned when using no-longer-supported keyword 278s ok 9 - prefixItems + schema-based items 278s ok 10 - schema-based items + additionalItems, failure case 278s ok 11 - warned when using no-longer-supported keyword 278s ok 12 - schema-based items + additionalItems, passing case 278s ok 13 - warned when using no-longer-supported keyword 278s 1..13 278s ok 9 - prefixItems, items and additionalItems 278s 1..9 278s ok 278s t/strict.t .............................. 278s ok 1 - strict defaults to false 278s ok 2 - by default, unknown keywords are allowed 278s ok 3 - strict mode disallows unknown keywords during evaluation via a config override 278s ok 4 - strict mode disallows unknown keywords during evaluation, even if the document was already traversed 278s ok 5 - strict mode disallows unknown keywords during traverse 278s 1..5 278s ok 279s t/stringy-numbers.t ..................... 279s # stringy_numbers = 0 279s ok 1 - strings cannot be used in place of numbers in schema for multipleOf 279s ok 2 - strings cannot be used in place of numbers in schema for maximum 279s ok 3 - strings cannot be used in place of numbers in schema for exclusiveMaximum 279s ok 4 - strings cannot be used in place of numbers in schema for minimum 279s ok 5 - strings cannot be used in place of numbers in schema for exclusiveMinimum 279s ok 6 - strings that do not look like numbers are never valid as numbers 279s ok 7 - by default "type": "string" does not accept numbers 279s ok 8 - real numbers are always evaluated 279s ok 9 - by default, stringy numbers are not evaluated by numeric keywords 279s ok 10 - data was not mutated 279s ok 11 - by default, stringy numbers are not the same as numbers using comparison keywords 279s ok 12 - data was not mutated 279s # stringy_numbers = 1 279s ok 13 - strings cannot be used in place of numbers in schema for multipleOf 279s ok 14 - strings cannot be used in place of numbers in schema for maximum 279s ok 15 - strings cannot be used in place of numbers in schema for exclusiveMaximum 279s ok 16 - strings cannot be used in place of numbers in schema for minimum 279s ok 17 - strings cannot be used in place of numbers in schema for exclusiveMinimum 279s ok 18 - strings that do not look like numbers are never valid as numbers 279s ok 19 - using stringy numbers, numeric strings are treated as numbers but are still not always integers 279s ok 20 - real numbers are always evaluated 279s ok 21 - with the config enabled, stringy numbers are treated as numbers by numeric keywords 279s ok 22 - data was not mutated 279s ok 23 - with the config enabled, stringy numbers are the same as numbers using comparison keywords 279s ok 24 - data was not mutated 279s 1..24 279s ok 279s t/traverse.t ............................ 279s # Subtest: traversal with callbacks 279s ok 1 - errors encountered during traversal are returned 279s ok 2 - callback for erroneous keyword was not called 279s ok 3 - extracted all the real $refs out of the schema, with locations and canonical targets 279s ok 4 - identified all subschemas 279s 1..4 279s ok 1 - traversal with callbacks 279s # Subtest: errors when parsing $schema keyword 279s ok 1 - $schema is not a string 279s ok 2 - $schema is not a URI 279s 1..2 279s ok 2 - errors when parsing $schema keyword 279s # Subtest: default metaschema 279s ok 1 - dialect is properly determined 279s ok 2 - error within $defs is found, showing both Core and Applicator vocabularies are used 279s 1..2 279s ok 3 - default metaschema 279s # Subtest: traversing a dialect with different core keywords 279s ok 1 - dialect changes at root, with $id - dialect is switched in time to get a new keyword list for the core vocabulary 279s ok 2 - no errors when parsing this schema 279s ok 3 - switched dialect in time to extract all identifiers, from root and definition 279s ok 4 - dialect changes at root, no $id - dialect is switched in time to get a new keyword list for the core vocabulary 279s ok 5 - dialect changes below root - dialect is switched in time to get a new keyword list for the core vocabulary 279s 1..5 279s ok 4 - traversing a dialect with different core keywords 279s # Subtest: $schema without an $id, below the root 279s ok 1 - $schema cannot exist without an $id, or at the root 279s 1..1 279s ok 5 - $schema without an $id, below the root 279s # Subtest: traverse with overridden metaschema_uri 279s ok 1 - metaschema_uri is overridden with a bad schema: same errors are returned 279s ok 2 - metaschema_uri is overridden with a bad schema: errors contain the right locations 279s ok 3 - metaschema_uri is overridden with a bad schema and there is a traversal path: errors contain the right locations 279s ok 4 - determined vocabularies to use for this schema 279s 1..4 279s ok 6 - traverse with overridden metaschema_uri 279s # Subtest: start traversing below the document root 279s ok 1 - identified the overridden location of all errors during traverse 279s ok 2 - identifiers are correctly extracted when traversing below the document root 279s 1..2 279s ok 7 - start traversing below the document root 279s 1..7 279s ok 280s t/type.t ................................ 280s # Subtest: inflated data, type: array 280s ok 1 - is_type("array", []) is true 280s ok 2 - get_type([]) = array 280s ok 3 - is_type("boolean", []) is false 280s ok 4 - is_type("integer", []) is false 280s ok 5 - is_type("null", []) is false 280s ok 6 - is_type("number", []) is false 280s ok 7 - is_type("object", []) is false 280s ok 8 - is_type("string", []) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("array", [1]) is true 280s ok 11 - get_type([1]) = array 280s ok 12 - is_type("boolean", [1]) is false 280s ok 13 - is_type("integer", [1]) is false 280s ok 14 - is_type("null", [1]) is false 280s ok 15 - is_type("number", [1]) is false 280s ok 16 - is_type("object", [1]) is false 280s ok 17 - is_type("string", [1]) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 1 - inflated data, type: array 280s # Subtest: inflated data, type: boolean 280s ok 1 - is_type("boolean", false) is true 280s ok 2 - get_type(false) = boolean 280s ok 3 - is_type("array", false) is false 280s ok 4 - is_type("integer", false) is false 280s ok 5 - is_type("null", false) is false 280s ok 6 - is_type("number", false) is false 280s ok 7 - is_type("object", false) is false 280s ok 8 - is_type("string", false) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("boolean", true) is true 280s ok 11 - get_type(true) = boolean 280s ok 12 - is_type("array", true) is false 280s ok 13 - is_type("integer", true) is false 280s ok 14 - is_type("null", true) is false 280s ok 15 - is_type("number", true) is false 280s ok 16 - is_type("object", true) is false 280s ok 17 - is_type("string", true) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 2 - inflated data, type: boolean 280s # Subtest: inflated data, type: integer 280s ok 1 - is_type("integer", 0) is true 280s ok 2 - is_type("number", 0) is true 280s ok 3 - get_type(0) = integer 280s ok 4 - is_type("array", 0) is false 280s ok 5 - is_type("boolean", 0) is false 280s ok 6 - is_type("null", 0) is false 280s ok 7 - is_type("object", 0) is false 280s ok 8 - is_type("string", 0) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("integer", -1) is true 280s ok 11 - is_type("number", -1) is true 280s ok 12 - get_type(-1) = integer 280s ok 13 - is_type("array", -1) is false 280s ok 14 - is_type("boolean", -1) is false 280s ok 15 - is_type("null", -1) is false 280s ok 16 - is_type("object", -1) is false 280s ok 17 - is_type("string", -1) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s ok 19 - is_type("integer", 2) is true 280s ok 20 - is_type("number", 2) is true 280s ok 21 - get_type(2) = integer 280s ok 22 - is_type("array", 2) is false 280s ok 23 - is_type("boolean", 2) is false 280s ok 24 - is_type("null", 2) is false 280s ok 25 - is_type("object", 2) is false 280s ok 26 - is_type("string", 2) is false 280s ok 27 - data is not tampered with while it is tested (not dualvar) 280s ok 28 - is_type("integer", 2.0) is true 280s ok 29 - is_type("number", 2.0) is true 280s ok 30 - get_type(2.0) = integer 280s ok 31 - is_type("array", 2.0) is false 280s ok 32 - is_type("boolean", 2.0) is false 280s ok 33 - is_type("null", 2.0) is false 280s ok 34 - is_type("object", 2.0) is false 280s ok 35 - is_type("string", 2.0) is false 280s ok 36 - data is not tampered with while it is tested (not dualvar) 280s ok 37 - is_type("integer", 2147483647) is true 280s ok 38 - is_type("number", 2147483647) is true 280s ok 39 - get_type(2147483647) = integer 280s ok 40 - is_type("array", 2147483647) is false 280s ok 41 - is_type("boolean", 2147483647) is false 280s ok 42 - is_type("null", 2147483647) is false 280s ok 43 - is_type("object", 2147483647) is false 280s ok 44 - is_type("string", 2147483647) is false 280s ok 45 - data is not tampered with while it is tested (not dualvar) 280s ok 46 - is_type("integer", 2147483648.0) is true 280s ok 47 - is_type("number", 2147483648.0) is true 280s ok 48 - get_type(2147483648.0) = integer 280s ok 49 - is_type("array", 2147483648.0) is false 280s ok 50 - is_type("boolean", 2147483648.0) is false 280s ok 51 - is_type("null", 2147483648.0) is false 280s ok 52 - is_type("object", 2147483648.0) is false 280s ok 53 - is_type("string", 2147483648.0) is false 280s ok 54 - data is not tampered with while it is tested (not dualvar) 280s ok 55 - is_type("integer", 9.22337203685478e+18) is true 280s ok 56 - is_type("number", 9.22337203685478e+18) is true 280s ok 57 - get_type(9.22337203685478e+18) = integer 280s ok 58 - is_type("array", 9.22337203685478e+18) is false 280s ok 59 - is_type("boolean", 9.22337203685478e+18) is false 280s ok 60 - is_type("null", 9.22337203685478e+18) is false 280s ok 61 - is_type("object", 9.22337203685478e+18) is false 280s ok 62 - is_type("string", 9.22337203685478e+18) is false 280s ok 63 - data is not tampered with while it is tested (not dualvar) 280s ok 64 - is_type("integer", 9.22337203685478e+18) is true 280s ok 65 - is_type("number", 9.22337203685478e+18) is true 280s ok 66 - get_type(9.22337203685478e+18) = integer 280s ok 67 - is_type("array", 9.22337203685478e+18) is false 280s ok 68 - is_type("boolean", 9.22337203685478e+18) is false 280s ok 69 - is_type("null", 9.22337203685478e+18) is false 280s ok 70 - is_type("object", 9.22337203685478e+18) is false 280s ok 71 - is_type("string", 9.22337203685478e+18) is false 280s ok 72 - data is not tampered with while it is tested (not dualvar) 280s ok 73 - is_type("integer", 1.84467440737096e+19) is true 280s ok 74 - is_type("number", 1.84467440737096e+19) is true 280s ok 75 - get_type(1.84467440737096e+19) = integer 280s ok 76 - is_type("array", 1.84467440737096e+19) is false 280s ok 77 - is_type("boolean", 1.84467440737096e+19) is false 280s ok 78 - is_type("null", 1.84467440737096e+19) is false 280s ok 79 - is_type("object", 1.84467440737096e+19) is false 280s ok 80 - is_type("string", 1.84467440737096e+19) is false 280s ok 81 - data is not tampered with while it is tested (not dualvar) 280s ok 82 - is_type("integer", 3.68934881474191e+19) is true 280s ok 83 - is_type("number", 3.68934881474191e+19) is true 280s ok 84 - get_type(3.68934881474191e+19) = integer 280s ok 85 - is_type("array", 3.68934881474191e+19) is false 280s ok 86 - is_type("boolean", 3.68934881474191e+19) is false 280s ok 87 - is_type("null", 3.68934881474191e+19) is false 280s ok 88 - is_type("object", 3.68934881474191e+19) is false 280s ok 89 - is_type("string", 3.68934881474191e+19) is false 280s ok 90 - data is not tampered with while it is tested (not dualvar) 280s ok 91 - is_type("integer", 1000000000000000) is true 280s ok 92 - is_type("number", 1000000000000000) is true 280s ok 93 - get_type(1000000000000000) = integer 280s ok 94 - is_type("array", 1000000000000000) is false 280s ok 95 - is_type("boolean", 1000000000000000) is false 280s ok 96 - is_type("null", 1000000000000000) is false 280s ok 97 - is_type("object", 1000000000000000) is false 280s ok 98 - is_type("string", 1000000000000000) is false 280s ok 99 - data is not tampered with while it is tested (not dualvar) 280s ok 100 - is_type("integer", Math::BigInt->new('100000000000000000000')) is true 280s ok 101 - is_type("number", Math::BigInt->new('100000000000000000000')) is true 280s ok 102 - get_type(Math::BigInt->new('100000000000000000000')) = integer 280s ok 103 - is_type("array", Math::BigInt->new('100000000000000000000')) is false 280s ok 104 - is_type("boolean", Math::BigInt->new('100000000000000000000')) is false 280s ok 105 - is_type("null", Math::BigInt->new('100000000000000000000')) is false 280s ok 106 - is_type("object", Math::BigInt->new('100000000000000000000')) is false 280s ok 107 - is_type("string", Math::BigInt->new('100000000000000000000')) is false 280s ok 108 - data is not tampered with while it is tested (not dualvar) 280s 1..108 280s ok 3 - inflated data, type: integer 280s # Subtest: inflated data, type: null 280s ok 1 - is_type("null", null) is true 280s ok 2 - get_type(null) = null 280s ok 3 - is_type("array", null) is false 280s ok 4 - is_type("boolean", null) is false 280s ok 5 - is_type("integer", null) is false 280s ok 6 - is_type("number", null) is false 280s ok 7 - is_type("object", null) is false 280s ok 8 - is_type("string", null) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s 1..9 280s ok 4 - inflated data, type: null 280s # Subtest: inflated data, type: number 280s ok 1 - is_type("number", 3.1) is true 280s ok 2 - get_type(3.1) = number 280s ok 3 - is_type("array", 3.1) is false 280s ok 4 - is_type("boolean", 3.1) is false 280s ok 5 - is_type("integer", 3.1) is false 280s ok 6 - is_type("null", 3.1) is false 280s ok 7 - is_type("object", 3.1) is false 280s ok 8 - is_type("string", 3.1) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("number", 12345678901.2) is true 280s ok 11 - get_type(12345678901.2) = number 280s ok 12 - is_type("array", 12345678901.2) is false 280s ok 13 - is_type("boolean", 12345678901.2) is false 280s ok 14 - is_type("integer", 12345678901.2) is false 280s ok 15 - is_type("null", 12345678901.2) is false 280s ok 16 - is_type("object", 12345678901.2) is false 280s ok 17 - is_type("string", 12345678901.2) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s ok 19 - is_type("number", Math::BigFloat->new('0.123')) is true 280s ok 20 - get_type(Math::BigFloat->new('0.123')) = number 280s ok 21 - is_type("array", Math::BigFloat->new('0.123')) is false 280s ok 22 - is_type("boolean", Math::BigFloat->new('0.123')) is false 280s ok 23 - is_type("integer", Math::BigFloat->new('0.123')) is false 280s ok 24 - is_type("null", Math::BigFloat->new('0.123')) is false 280s ok 25 - is_type("object", Math::BigFloat->new('0.123')) is false 280s ok 26 - is_type("string", Math::BigFloat->new('0.123')) is false 280s ok 27 - data is not tampered with while it is tested (not dualvar) 280s 1..27 280s ok 5 - inflated data, type: number 280s # Subtest: inflated data, type: object 280s ok 1 - is_type("object", {}) is true 280s ok 2 - get_type({}) = object 280s ok 3 - is_type("array", {}) is false 280s ok 4 - is_type("boolean", {}) is false 280s ok 5 - is_type("integer", {}) is false 280s ok 6 - is_type("null", {}) is false 280s ok 7 - is_type("number", {}) is false 280s ok 8 - is_type("string", {}) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("object", {"a":1}) is true 280s ok 11 - get_type({"a":1}) = object 280s ok 12 - is_type("array", {"a":1}) is false 280s ok 13 - is_type("boolean", {"a":1}) is false 280s ok 14 - is_type("integer", {"a":1}) is false 280s ok 15 - is_type("null", {"a":1}) is false 280s ok 16 - is_type("number", {"a":1}) is false 280s ok 17 - is_type("string", {"a":1}) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 6 - inflated data, type: object 280s # Subtest: inflated data, type: string 280s ok 1 - is_type("string", "") is true 280s ok 2 - get_type("") = string 280s ok 3 - is_type("array", "") is false 280s ok 4 - is_type("boolean", "") is false 280s ok 5 - is_type("integer", "") is false 280s ok 6 - is_type("null", "") is false 280s ok 7 - is_type("number", "") is false 280s ok 8 - is_type("object", "") is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("string", "0") is true 280s ok 11 - get_type("0") = string 280s ok 12 - is_type("array", "0") is false 280s ok 13 - is_type("boolean", "0") is false 280s ok 14 - is_type("integer", "0") is false 280s ok 15 - is_type("null", "0") is false 280s ok 16 - is_type("number", "0") is false 280s ok 17 - is_type("object", "0") is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s ok 19 - is_type("string", "-1") is true 280s ok 20 - get_type("-1") = string 280s ok 21 - is_type("array", "-1") is false 280s ok 22 - is_type("boolean", "-1") is false 280s ok 23 - is_type("integer", "-1") is false 280s ok 24 - is_type("null", "-1") is false 280s ok 25 - is_type("number", "-1") is false 280s ok 26 - is_type("object", "-1") is false 280s ok 27 - data is not tampered with while it is tested (not dualvar) 280s ok 28 - is_type("string", "2") is true 280s ok 29 - get_type("2") = string 280s ok 30 - is_type("array", "2") is false 280s ok 31 - is_type("boolean", "2") is false 280s ok 32 - is_type("integer", "2") is false 280s ok 33 - is_type("null", "2") is false 280s ok 34 - is_type("number", "2") is false 280s ok 35 - is_type("object", "2") is false 280s ok 36 - data is not tampered with while it is tested (not dualvar) 280s ok 37 - is_type("string", "2.0") is true 280s ok 38 - get_type("2.0") = string 280s ok 39 - is_type("array", "2.0") is false 280s ok 40 - is_type("boolean", "2.0") is false 280s ok 41 - is_type("integer", "2.0") is false 280s ok 42 - is_type("null", "2.0") is false 280s ok 43 - is_type("number", "2.0") is false 280s ok 44 - is_type("object", "2.0") is false 280s ok 45 - data is not tampered with while it is tested (not dualvar) 280s ok 46 - is_type("string", "3.1") is true 280s ok 47 - get_type("3.1") = string 280s ok 48 - is_type("array", "3.1") is false 280s ok 49 - is_type("boolean", "3.1") is false 280s ok 50 - is_type("integer", "3.1") is false 280s ok 51 - is_type("null", "3.1") is false 280s ok 52 - is_type("number", "3.1") is false 280s ok 53 - is_type("object", "3.1") is false 280s ok 54 - data is not tampered with while it is tested (not dualvar) 280s ok 55 - is_type("string", "école") is true 280s ok 56 - get_type("école") = string 280s ok 57 - is_type("array", "école") is false 280s ok 58 - is_type("boolean", "école") is false 280s ok 59 - is_type("integer", "école") is false 280s ok 60 - is_type("null", "école") is false 280s ok 61 - is_type("number", "école") is false 280s ok 62 - is_type("object", "école") is false 280s ok 63 - data is not tampered with while it is tested (not dualvar) 280s ok 64 - is_type("string", "ಠ_ಠ") is true 280s ok 65 - get_type("ಠ_ಠ") = string 280s ok 66 - is_type("array", "ಠ_ಠ") is false 280s ok 67 - is_type("boolean", "ಠ_ಠ") is false 280s ok 68 - is_type("integer", "ಠ_ಠ") is false 280s ok 69 - is_type("null", "ಠ_ಠ") is false 280s ok 70 - is_type("number", "ಠ_ಠ") is false 280s ok 71 - is_type("object", "ಠ_ಠ") is false 280s ok 72 - data is not tampered with while it is tested (not dualvar) 280s 1..72 280s ok 7 - inflated data, type: string 280s # Subtest: JSON-encoded data, type: array 280s ok 1 - is_type("array", []) is true 280s ok 2 - get_type([]) = array 280s ok 3 - is_type("boolean", []) is false 280s ok 4 - is_type("integer", []) is false 280s ok 5 - is_type("null", []) is false 280s ok 6 - is_type("number", []) is false 280s ok 7 - is_type("object", []) is false 280s ok 8 - is_type("string", []) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("array", [1]) is true 280s ok 11 - get_type([1]) = array 280s ok 12 - is_type("boolean", [1]) is false 280s ok 13 - is_type("integer", [1]) is false 280s ok 14 - is_type("null", [1]) is false 280s ok 15 - is_type("number", [1]) is false 280s ok 16 - is_type("object", [1]) is false 280s ok 17 - is_type("string", [1]) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 8 - JSON-encoded data, type: array 280s # Subtest: JSON-encoded data, type: boolean 280s ok 1 - is_type("boolean", false) is true 280s ok 2 - get_type(false) = boolean 280s ok 3 - is_type("array", false) is false 280s ok 4 - is_type("integer", false) is false 280s ok 5 - is_type("null", false) is false 280s ok 6 - is_type("number", false) is false 280s ok 7 - is_type("object", false) is false 280s ok 8 - is_type("string", false) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("boolean", true) is true 280s ok 11 - get_type(true) = boolean 280s ok 12 - is_type("array", true) is false 280s ok 13 - is_type("integer", true) is false 280s ok 14 - is_type("null", true) is false 280s ok 15 - is_type("number", true) is false 280s ok 16 - is_type("object", true) is false 280s ok 17 - is_type("string", true) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 9 - JSON-encoded data, type: boolean 280s # Subtest: JSON-encoded data, type: integer 280s ok 1 - is_type("integer", 0) is true 280s ok 2 - is_type("number", 0) is true 280s ok 3 - get_type(0) = integer 280s ok 4 - is_type("array", 0) is false 280s ok 5 - is_type("boolean", 0) is false 280s ok 6 - is_type("null", 0) is false 280s ok 7 - is_type("object", 0) is false 280s ok 8 - is_type("string", 0) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("integer", -1) is true 280s ok 11 - is_type("number", -1) is true 280s ok 12 - get_type(-1) = integer 280s ok 13 - is_type("array", -1) is false 280s ok 14 - is_type("boolean", -1) is false 280s ok 15 - is_type("null", -1) is false 280s ok 16 - is_type("object", -1) is false 280s ok 17 - is_type("string", -1) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s ok 19 - is_type("integer", Math::BigFloat->new('2')) is true 280s ok 20 - is_type("number", Math::BigFloat->new('2')) is true 280s ok 21 - get_type(Math::BigFloat->new('2')) = integer 280s ok 22 - is_type("array", Math::BigFloat->new('2')) is false 280s ok 23 - is_type("boolean", Math::BigFloat->new('2')) is false 280s ok 24 - is_type("null", Math::BigFloat->new('2')) is false 280s ok 25 - is_type("object", Math::BigFloat->new('2')) is false 280s ok 26 - is_type("string", Math::BigFloat->new('2')) is false 280s ok 27 - data is not tampered with while it is tested (not dualvar) 280s ok 28 - is_type("integer", 2147483647) is true 280s ok 29 - is_type("number", 2147483647) is true 280s ok 30 - get_type(2147483647) = integer 280s ok 31 - is_type("array", 2147483647) is false 280s ok 32 - is_type("boolean", 2147483647) is false 280s ok 33 - is_type("null", 2147483647) is false 280s ok 34 - is_type("object", 2147483647) is false 280s ok 35 - is_type("string", 2147483647) is false 280s ok 36 - data is not tampered with while it is tested (not dualvar) 280s ok 37 - is_type("integer", 2147483648) is true 280s ok 38 - is_type("number", 2147483648) is true 280s ok 39 - get_type(2147483648) = integer 280s ok 40 - is_type("array", 2147483648) is false 280s ok 41 - is_type("boolean", 2147483648) is false 280s ok 42 - is_type("null", 2147483648) is false 280s ok 43 - is_type("object", 2147483648) is false 280s ok 44 - is_type("string", 2147483648) is false 280s ok 45 - data is not tampered with while it is tested (not dualvar) 280s ok 46 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true 280s ok 47 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true 280s ok 48 - get_type(Math::BigFloat->new('9223372036854780000')) = integer 280s ok 49 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false 280s ok 50 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false 280s ok 51 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false 280s ok 52 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false 280s ok 53 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false 280s ok 54 - data is not tampered with while it is tested (not dualvar) 280s ok 55 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true 280s ok 56 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true 280s ok 57 - get_type(Math::BigFloat->new('9223372036854780000')) = integer 280s ok 58 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false 280s ok 59 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false 280s ok 60 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false 280s ok 61 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false 280s ok 62 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false 280s ok 63 - data is not tampered with while it is tested (not dualvar) 280s ok 64 - is_type("integer", Math::BigFloat->new('18446744073709600000')) is true 280s ok 65 - is_type("number", Math::BigFloat->new('18446744073709600000')) is true 280s ok 66 - get_type(Math::BigFloat->new('18446744073709600000')) = integer 280s ok 67 - is_type("array", Math::BigFloat->new('18446744073709600000')) is false 280s ok 68 - is_type("boolean", Math::BigFloat->new('18446744073709600000')) is false 280s ok 69 - is_type("null", Math::BigFloat->new('18446744073709600000')) is false 280s ok 70 - is_type("object", Math::BigFloat->new('18446744073709600000')) is false 280s ok 71 - is_type("string", Math::BigFloat->new('18446744073709600000')) is false 280s ok 72 - data is not tampered with while it is tested (not dualvar) 280s ok 73 - is_type("integer", Math::BigFloat->new('36893488147419100000')) is true 280s ok 74 - is_type("number", Math::BigFloat->new('36893488147419100000')) is true 280s ok 75 - get_type(Math::BigFloat->new('36893488147419100000')) = integer 280s ok 76 - is_type("array", Math::BigFloat->new('36893488147419100000')) is false 280s ok 77 - is_type("boolean", Math::BigFloat->new('36893488147419100000')) is false 280s ok 78 - is_type("null", Math::BigFloat->new('36893488147419100000')) is false 280s ok 79 - is_type("object", Math::BigFloat->new('36893488147419100000')) is false 280s ok 80 - is_type("string", Math::BigFloat->new('36893488147419100000')) is false 280s ok 81 - data is not tampered with while it is tested (not dualvar) 280s ok 82 - is_type("integer", 1000000000000000) is true 280s ok 83 - is_type("number", 1000000000000000) is true 280s ok 84 - get_type(1000000000000000) = integer 280s ok 85 - is_type("array", 1000000000000000) is false 280s ok 86 - is_type("boolean", 1000000000000000) is false 280s ok 87 - is_type("null", 1000000000000000) is false 280s ok 88 - is_type("object", 1000000000000000) is false 280s ok 89 - is_type("string", 1000000000000000) is false 280s ok 90 - data is not tampered with while it is tested (not dualvar) 280s 1..90 280s ok 10 - JSON-encoded data, type: integer 280s # Subtest: JSON-encoded data, type: null 280s ok 1 - is_type("null", null) is true 280s ok 2 - get_type(null) = null 280s ok 3 - is_type("array", null) is false 280s ok 4 - is_type("boolean", null) is false 280s ok 5 - is_type("integer", null) is false 280s ok 6 - is_type("number", null) is false 280s ok 7 - is_type("object", null) is false 280s ok 8 - is_type("string", null) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s 1..9 280s ok 11 - JSON-encoded data, type: null 280s # Subtest: JSON-encoded data, type: number 280s ok 1 - is_type("number", Math::BigFloat->new('3.1')) is true 280s ok 2 - get_type(Math::BigFloat->new('3.1')) = number 280s ok 3 - is_type("array", Math::BigFloat->new('3.1')) is false 280s ok 4 - is_type("boolean", Math::BigFloat->new('3.1')) is false 280s ok 5 - is_type("integer", Math::BigFloat->new('3.1')) is false 280s ok 6 - is_type("null", Math::BigFloat->new('3.1')) is false 280s ok 7 - is_type("object", Math::BigFloat->new('3.1')) is false 280s ok 8 - is_type("string", Math::BigFloat->new('3.1')) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("number", Math::BigFloat->new('12345678901.2')) is true 280s ok 11 - get_type(Math::BigFloat->new('12345678901.2')) = number 280s ok 12 - is_type("array", Math::BigFloat->new('12345678901.2')) is false 280s ok 13 - is_type("boolean", Math::BigFloat->new('12345678901.2')) is false 280s ok 14 - is_type("integer", Math::BigFloat->new('12345678901.2')) is false 280s ok 15 - is_type("null", Math::BigFloat->new('12345678901.2')) is false 280s ok 16 - is_type("object", Math::BigFloat->new('12345678901.2')) is false 280s ok 17 - is_type("string", Math::BigFloat->new('12345678901.2')) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 12 - JSON-encoded data, type: number 280s # Subtest: JSON-encoded data, type: object 280s ok 1 - is_type("object", {}) is true 280s ok 2 - get_type({}) = object 280s ok 3 - is_type("array", {}) is false 280s ok 4 - is_type("boolean", {}) is false 280s ok 5 - is_type("integer", {}) is false 280s ok 6 - is_type("null", {}) is false 280s ok 7 - is_type("number", {}) is false 280s ok 8 - is_type("string", {}) is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("object", {"a":1}) is true 280s ok 11 - get_type({"a":1}) = object 280s ok 12 - is_type("array", {"a":1}) is false 280s ok 13 - is_type("boolean", {"a":1}) is false 280s ok 14 - is_type("integer", {"a":1}) is false 280s ok 15 - is_type("null", {"a":1}) is false 280s ok 16 - is_type("number", {"a":1}) is false 280s ok 17 - is_type("string", {"a":1}) is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s 1..18 280s ok 13 - JSON-encoded data, type: object 280s # Subtest: JSON-encoded data, type: string 280s ok 1 - is_type("string", "") is true 280s ok 2 - get_type("") = string 280s ok 3 - is_type("array", "") is false 280s ok 4 - is_type("boolean", "") is false 280s ok 5 - is_type("integer", "") is false 280s ok 6 - is_type("null", "") is false 280s ok 7 - is_type("number", "") is false 280s ok 8 - is_type("object", "") is false 280s ok 9 - data is not tampered with while it is tested (not dualvar) 280s ok 10 - is_type("string", "0") is true 280s ok 11 - get_type("0") = string 280s ok 12 - is_type("array", "0") is false 280s ok 13 - is_type("boolean", "0") is false 280s ok 14 - is_type("integer", "0") is false 280s ok 15 - is_type("null", "0") is false 280s ok 16 - is_type("number", "0") is false 280s ok 17 - is_type("object", "0") is false 280s ok 18 - data is not tampered with while it is tested (not dualvar) 280s ok 19 - is_type("string", "-1") is true 280s ok 20 - get_type("-1") = string 280s ok 21 - is_type("array", "-1") is false 280s ok 22 - is_type("boolean", "-1") is false 280s ok 23 - is_type("integer", "-1") is false 280s ok 24 - is_type("null", "-1") is false 280s ok 25 - is_type("number", "-1") is false 280s ok 26 - is_type("object", "-1") is false 280s ok 27 - data is not tampered with while it is tested (not dualvar) 280s ok 28 - is_type("string", "2.0") is true 280s ok 29 - get_type("2.0") = string 280s ok 30 - is_type("array", "2.0") is false 280s ok 31 - is_type("boolean", "2.0") is false 280s ok 32 - is_type("integer", "2.0") is false 280s ok 33 - is_type("null", "2.0") is false 280s ok 34 - is_type("number", "2.0") is false 280s ok 35 - is_type("object", "2.0") is false 280s ok 36 - data is not tampered with while it is tested (not dualvar) 280s ok 37 - is_type("string", "3.1") is true 280s ok 38 - get_type("3.1") = string 280s ok 39 - is_type("array", "3.1") is false 280s ok 40 - is_type("boolean", "3.1") is false 280s ok 41 - is_type("integer", "3.1") is false 280s ok 42 - is_type("null", "3.1") is false 280s ok 43 - is_type("number", "3.1") is false 280s ok 44 - is_type("object", "3.1") is false 280s ok 45 - data is not tampered with while it is tested (not dualvar) 280s ok 46 - is_type("string", "école") is true 280s ok 47 - get_type("école") = string 280s ok 48 - is_type("array", "école") is false 280s ok 49 - is_type("boolean", "école") is false 280s ok 50 - is_type("integer", "école") is false 280s ok 51 - is_type("null", "école") is false 280s ok 52 - is_type("number", "école") is false 280s ok 53 - is_type("object", "école") is false 280s ok 54 - data is not tampered with while it is tested (not dualvar) 280s ok 55 - is_type("string", "ಠ_ಠ") is true 280s ok 56 - get_type("ಠ_ಠ") = string 280s ok 57 - is_type("array", "ಠ_ಠ") is false 280s ok 58 - is_type("boolean", "ಠ_ಠ") is false 280s ok 59 - is_type("integer", "ಠ_ಠ") is false 280s ok 60 - is_type("null", "ಠ_ಠ") is false 280s ok 61 - is_type("number", "ಠ_ಠ") is false 280s ok 62 - is_type("object", "ಠ_ಠ") is false 280s ok 63 - data is not tampered with while it is tested (not dualvar) 280s 1..63 280s ok 14 - JSON-encoded data, type: string 280s # Subtest: type: integer 280s ok 1 - 1 is an integer 280s ok 2 - 2.0 is an integer 280s ok 3 - 9.22337203685478e+24 is an integer 280s ok 4 - Math::BigInt->new('9223372036854775800000008') is an integer 280s ok 5 - "1" is not an integer 280s ok 6 - "2.0" is not an integer 280s ok 7 - 3.1 is not an integer 280s ok 8 - "4.2" is not an integer 280s 1..8 280s ok 15 - type: integer 280s ok 16 - non-existent type does not result in exception 280s # Subtest: ambiguous types 280s ok 1 - dualvars are ambiguous 280s ok 2 # skip on perls >= 5.35.9, reading the string form of an integer value no longer sets the flag SVf_POK 280s 1..2 280s ok 17 - ambiguous types 280s # Subtest: is_type and get_type for references 280s ok 1 - reference to SCALAR type is reported without exception 280s ok 2 - value is a reference to SCALAR 280s ok 3 - value is not a null 280s ok 4 - value is not a object 280s ok 5 - value is not a array 280s ok 6 - value is not a boolean 280s ok 7 - value is not a string 280s ok 8 - value is not a number 280s ok 9 - value is not a integer 280s ok 10 - reference to REF type is reported without exception 280s ok 11 - value is a reference to REF 280s ok 12 - value is not a null 280s ok 13 - value is not a object 280s ok 14 - value is not a array 280s ok 15 - value is not a boolean 280s ok 16 - value is not a string 280s ok 17 - value is not a number 280s ok 18 - value is not a integer 280s ok 19 - reference to CODE type is reported without exception 280s ok 20 - value is a reference to CODE 280s ok 21 - value is not a null 280s ok 22 - value is not a object 280s ok 23 - value is not a array 280s ok 24 - value is not a boolean 280s ok 25 - value is not a string 280s ok 26 - value is not a number 280s ok 27 - value is not a integer 280s ok 28 - reference to GLOB type is reported without exception 280s ok 29 - value is a reference to GLOB 280s ok 30 - value is not a null 280s ok 31 - value is not a object 280s ok 32 - value is not a array 280s ok 33 - value is not a boolean 280s ok 34 - value is not a string 280s ok 35 - value is not a number 280s ok 36 - value is not a integer 280s ok 37 - reference to LVALUE type is reported without exception 280s ok 38 - value is a reference to LVALUE 280s ok 39 - value is not a null 280s ok 40 - value is not a object 280s ok 41 - value is not a array 280s ok 42 - value is not a boolean 280s ok 43 - value is not a string 280s ok 44 - value is not a number 280s ok 45 - value is not a integer 280s ok 46 - reference to VSTRING type is reported without exception 280s ok 47 - value is a reference to VSTRING 280s ok 48 - value is not a null 280s ok 49 - value is not a object 280s ok 50 - value is not a array 280s ok 51 - value is not a boolean 280s ok 52 - value is not a string 280s ok 53 - value is not a number 280s ok 54 - value is not a integer 280s ok 55 - Regexp type is reported without exception 280s ok 56 - value is a Regexp 280s ok 57 - value is not a null 280s ok 58 - value is not a object 280s ok 59 - value is not a array 280s ok 60 - value is not a boolean 280s ok 61 - value is not a string 280s ok 62 - value is not a number 280s ok 63 - value is not a integer 280s ok 64 - IO::File type is reported without exception 280s ok 65 - value is a IO::File 280s ok 66 - value is not a null 280s ok 67 - value is not a object 280s ok 68 - value is not a array 280s ok 69 - value is not a boolean 280s ok 70 - value is not a string 280s ok 71 - value is not a number 280s ok 72 - value is not a integer 280s ok 73 - Foo type is reported without exception 280s ok 74 - value is a Foo 280s ok 75 - value is not a null 280s ok 76 - value is not a object 280s ok 77 - value is not a array 280s ok 78 - value is not a boolean 280s ok 79 - value is not a string 280s ok 80 - value is not a number 280s ok 81 - value is not a integer 280s 1..81 280s ok 18 - is_type and get_type for references 280s 1..18 280s ok 280s t/unsupported-keywords.t ................ 280s # 280s # draft7 280s ok 1 - schema with "id" still validates in draft7 280s ok 2 - warned for "id" in draft7 280s ok 3 - schema with "definitions" validates in draft7 280s ok 4 - did not warn for "definitions" in draft7 280s ok 5 - schema with "dependencies" validates in draft7 280s ok 6 - did not warn for "dependencies" in draft7 280s # 280s # draft2019-09 280s ok 7 - schema with "id" still validates in draft2019-09 280s ok 8 - warned for "id" in draft2019-09 280s ok 9 - schema with "definitions" still validates in draft2019-09 280s ok 10 - warned for "definitions" in draft2019-09 280s ok 11 - schema with "dependencies" still validates in draft2019-09 280s ok 12 - warned for "dependencies" in draft2019-09 280s 1..12 280s ok 281s t/validate-schema.t ..................... 281s ok 1 - validate_schema on simple schema with no $schema keyword 281s ok 2 - validate_schema on schema with metaschema $schema keyword 281s ok 3 - validate_schema with custom metaschema 281s 1..3 281s ok 283s t/zzz-acceptance-draft2019-09-format.t .. 283s # AUTHOR_TESTING: 283s # AUTOMATED_TESTING: 1 283s # EXTENDED_TESTING: 283s # NO_TODO: 283s # TEST_DIR: 283s # NO_SHORT_CIRCUIT: 283s # 283s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09/optional/format against draft2019-09... 283s # 283s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date-time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 32 - date.json: "validation of date strings" - "a valid date string" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 64 - date.json: "validation of date strings" - "invalid month" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid date", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 79 - duration.json: "validation of duration strings" - "a valid duration string" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 81 - duration.json: "validation of duration strings" - "no elements present" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 82 - duration.json: "validation of duration strings" - "no time elements present" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 83 - duration.json: "validation of duration strings" - "no date or time elements present" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 84 - duration.json: "validation of duration strings" - "elements out of order" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 85 - duration.json: "validation of duration strings" - "missing time separator" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 86 - duration.json: "validation of duration strings" - "time element in the date position" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 87 - duration.json: "validation of duration strings" - "four years duration" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 88 - duration.json: "validation of duration strings" - "zero time, in seconds" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 89 - duration.json: "validation of duration strings" - "zero time, in days" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 90 - duration.json: "validation of duration strings" - "one month duration" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 91 - duration.json: "validation of duration strings" - "one minute duration" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 92 - duration.json: "validation of duration strings" - "one and a half days, in hours" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 93 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 94 - duration.json: "validation of duration strings" - "two weeks" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 95 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 96 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 97 - duration.json: "validation of duration strings" - "element without unit" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid duration", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 98 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 99 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 104 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 105 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 106 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 107 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 108 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 109 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 110 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 111 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 112 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 113 - hostname.json: "validation of host names" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 114 - hostname.json: "validation of host names" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 115 - hostname.json: "validation of host names" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 116 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 117 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 118 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 119 - hostname.json: "validation of host names" - "a valid host name" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 120 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 121 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 122 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 123 - hostname.json: "validation of host names" - "a host name with a component too long" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 124 - hostname.json: "validation of host names" - "starts with hyphen" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 125 - hostname.json: "validation of host names" - "ends with hyphen" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 126 - hostname.json: "validation of host names" - "starts with underscore" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 127 - hostname.json: "validation of host names" - "ends with underscore" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 128 - hostname.json: "validation of host names" - "contains underscore" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 129 - hostname.json: "validation of host names" - "maximum label length" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 130 - hostname.json: "validation of host names" - "exceeds maximum label length" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 131 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 132 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 133 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 134 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 135 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s # 283s ok 136 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 137 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 138 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 139 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 140 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 141 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 142 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 143 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 144 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 145 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-email", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 146 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 147 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 148 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 149 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 150 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 151 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 152 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 153 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 154 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s ok 155 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 156 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 157 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 158 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 159 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 160 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 161 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 162 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 163 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 164 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 165 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 166 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 167 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 168 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 169 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 170 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 171 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 172 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 173 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 174 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 175 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 176 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 177 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 178 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 179 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 180 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 181 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 182 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 183 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 184 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 185 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 186 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 187 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 188 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 189 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 190 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 191 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 192 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 193 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false # 283s 1..1 283s } 283s ok 194 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 195 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 196 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 197 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 198 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 199 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 200 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s ok 201 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected true; got false 283s # { 283s # "errors": [ 283s # { 283s # "error": "not a valid idn-hostname", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s 1..1 283s } 283s # 283s ok 202 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 203 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 204 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 205 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 206 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 207 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 208 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 209 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 210 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 211 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 212 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 213 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 214 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 215 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 216 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 217 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv4", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 218 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 219 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 220 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 221 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 222 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 223 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 224 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 225 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 226 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 227 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 228 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 229 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 230 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 231 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 232 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 233 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 234 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 235 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 236 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 237 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 238 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 239 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 240 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 241 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 242 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 243 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 244 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 245 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 246 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 247 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 248 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 249 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 250 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 251 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 252 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 253 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 254 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 255 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 256 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 257 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid ipv6", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 258 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 259 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 260 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 261 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 262 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 263 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 264 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 265 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 266 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 267 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s ok 268 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 269 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 270 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s # 283s ok 271 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 272 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 273 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 274 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 275 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 276 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 277 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 278 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 279 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 280 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 281 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 282 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s ok 283 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 284 - iri.json: "validation of IRIs" - "an invalid IRI" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 285 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid iri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 286 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 287 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 288 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 289 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 290 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 324 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 325 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 326 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 327 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 328 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 329 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 330 - regex.json: "validation of regular expressions" - "a valid regular expression" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 331 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid regex", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid regex", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 332 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 333 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 334 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 335 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 336 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 337 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 338 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 339 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 340 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 341 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 342 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 343 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 344 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid relative-json-pointer", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s # 283s ok 350 - time.json: "validation of time strings" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 351 - time.json: "validation of time strings" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 352 - time.json: "validation of time strings" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 353 - time.json: "validation of time strings" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 354 - time.json: "validation of time strings" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 355 - time.json: "validation of time strings" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 356 - time.json: "validation of time strings" - "a valid time string" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 357 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 358 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 359 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 360 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 361 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 362 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 363 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 364 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 365 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 366 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 367 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 368 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 369 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 370 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 371 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 372 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 373 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 374 - time.json: "validation of time strings" - "a valid time string with second fraction" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 375 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 376 - time.json: "validation of time strings" - "a valid time string with plus offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 377 - time.json: "validation of time strings" - "a valid time string with minus offset" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 378 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 379 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 380 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 381 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 382 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 383 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 384 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 385 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 386 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 387 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 388 - time.json: "validation of time strings" - "an invalid offset indicator" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 389 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 390 - time.json: "validation of time strings" - "no time offset" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 391 - time.json: "validation of time strings" - "no time offset with second fraction" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 392 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 393 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 394 - time.json: "validation of time strings" - "contains letters" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid time", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 395 - unknown.json: "unknown format" - "unknown formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 396 - unknown.json: "unknown format" - "unknown formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 397 - unknown.json: "unknown format" - "unknown formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 398 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 399 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 400 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 401 - unknown.json: "unknown format" - "unknown formats ignore strings" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s # 283s ok 402 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 403 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 404 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 405 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 406 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 407 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 408 - uri-reference.json: "validation of URI References" - "a valid URI" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 409 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 410 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 411 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri-reference", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri-reference", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 412 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 413 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 414 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri-reference", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri-reference", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s # 283s ok 415 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 416 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 417 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 418 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 419 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 420 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 421 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 422 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s ok 423 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s ok 424 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true # 283s 1..1 283s } 283s # 283s ok 425 - uri.json: "validation of URIs" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 426 - uri.json: "validation of URIs" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 427 - uri.json: "validation of URIs" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 428 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 429 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 430 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 431 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 432 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 433 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 434 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 435 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 436 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 437 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 438 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 439 - uri.json: "validation of URIs" - "a valid URL " { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 440 - uri.json: "validation of URIs" - "a valid mailto URI" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 441 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 442 - uri.json: "validation of URIs" - "a valid tel URI" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 443 - uri.json: "validation of URIs" - "a valid URN" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 444 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 445 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 446 - uri.json: "validation of URIs" - "an invalid URI" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 447 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 448 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 449 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uri", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 450 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s not ok 1 - evaluation result is incorrect # 283s # Failed test (with amnesty) 'evaluation result is incorrect' 283s # at t/zzz-acceptance-draft2019-09-format.t line 65. 283s # expected false; got true 283s # { 283s # "valid": true 283s # } 283s 1..1 283s } 283s # 283s ok 451 - uuid.json: "uuid format" - "all string formats ignore integers" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 452 - uuid.json: "uuid format" - "all string formats ignore floats" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 453 - uuid.json: "uuid format" - "all string formats ignore objects" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 454 - uuid.json: "uuid format" - "all string formats ignore arrays" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 455 - uuid.json: "uuid format" - "all string formats ignore booleans" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 456 - uuid.json: "uuid format" - "all string formats ignore nulls" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 457 - uuid.json: "uuid format" - "all upper-case" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 458 - uuid.json: "uuid format" - "all lower-case" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 459 - uuid.json: "uuid format" - "mixed case" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 460 - uuid.json: "uuid format" - "all zeroes is valid" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 461 - uuid.json: "uuid format" - "wrong length" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 462 - uuid.json: "uuid format" - "missing section" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 463 - uuid.json: "uuid format" - "bad characters (not hex)" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 464 - uuid.json: "uuid format" - "no dashes" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 465 - uuid.json: "uuid format" - "too few dashes" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 466 - uuid.json: "uuid format" - "too many dashes" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 467 - uuid.json: "uuid format" - "dashes in the wrong spot" { 283s # result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s # short-circuited result: { 283s # "errors": [ 283s # { 283s # "error": "not a valid uuid", 283s # "instanceLocation": "", 283s # "keywordLocation": "/format" 283s # } 283s # ], 283s # "valid": false 283s # } 283s ok 1 - test passes: data is valid: false 283s 1..1 283s } 283s ok 468 - uuid.json: "uuid format" - "valid version 4" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 469 - uuid.json: "uuid format" - "valid version 5" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 470 - uuid.json: "uuid format" - "hypothetical version 6" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s ok 471 - uuid.json: "uuid format" - "hypothetical version 15" { 283s # result: { 283s # "valid": true 283s # } 283s # short-circuited result: { 283s # "valid": true 283s # } 283s ok 1 - test passes: data is valid: true 283s 1..1 283s } 283s # 283s # 283s # Results using Test::JSON::Schema::Acceptance 1.021 283s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 283s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 283s # specification version: draft2019-09 283s # using custom test directory: /optional/format 283s # optional tests included: yes 283s # 283s # filename pass todo-fail fail 283s # --------------------------------------------------------------- 283s # date-time.json 25 0 0 283s # date.json 47 0 0 283s # duration.json 25 0 0 283s # email.json 15 0 0 283s # hostname.json 18 5 0 283s # idn-email.json 10 0 0 283s # idn-hostname.json 35 21 0 283s # ipv4.json 16 0 0 283s # ipv6.json 40 0 0 283s # iri-reference.json 11 2 0 283s # iri.json 14 1 0 283s # json-pointer.json 38 0 0 283s # regex.json 8 0 0 283s # relative-json-pointer.json 18 0 0 283s # time.json 45 0 0 283s # unknown.json 7 0 0 283s # uri-reference.json 13 0 0 283s # uri-template.json 9 1 0 283s # uri.json 25 1 0 283s # uuid.json 21 0 0 283s # --------------------------------------------------------------- 283s # TOTAL 440 31 0 283s # 283s # Congratulations, all non-optional tests are passing! 283s # 283s ok 472 - no leaks in the main evaluator object 283s ok 473 - no leaks in the short-circuiting evaluator object 283s 1..473 283s ok 291s t/zzz-acceptance-draft2019-09.t ......... 291s # AUTHOR_TESTING: 291s # AUTOMATED_TESTING: 1 291s # EXTENDED_TESTING: 291s # NO_TODO: 291s # TEST_DIR: 291s # NO_SHORT_CIRCUIT: 291s # 291s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 291s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09 against draft2019-09... 291s # 291s ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/type" 291s # }, 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/additionalItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 18 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 19 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 20 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 25 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 26 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/élmény", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/élmény", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 27 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 28 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 29 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 30 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 31 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 32 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 33 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 34 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 35 - allOf.json: "allOf" - "allOf" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 36 - allOf.json: "allOf" - "mismatch second" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 37 - allOf.json: "allOf" - "mismatch first" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/required" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/required" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 38 - allOf.json: "allOf" - "wrong type" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/properties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/properties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 39 - allOf.json: "allOf with base schema" - "valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 40 - allOf.json: "allOf with base schema" - "mismatch base schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 41 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 42 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: baz", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/required" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: baz", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/required" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 43 - allOf.json: "allOf with base schema" - "mismatch both" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "object is missing property: baz", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/required" 291s # }, 291s # { 291s # "error": "subschemas 0, 1 are not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/required" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 44 - allOf.json: "allOf simple types" - "valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 45 - allOf.json: "allOf simple types" - "mismatch one" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 30", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/maximum" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 30", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/maximum" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 46 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 47 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 48 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1" 291s # }, 291s # { 291s # "error": "subschemas 0, 1 are not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 49 - allOf.json: "allOf with one empty schema" - "any data is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 50 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 51 - allOf.json: "allOf with the first empty schema" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 52 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/type" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/type" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 53 - allOf.json: "allOf with the last empty schema" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 54 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 55 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 56 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/allOf/0/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/allOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/allOf/0/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/allOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 57 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 58 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/multipleOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 65 - anchor.json: "Location-independent identifier" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 66 - anchor.json: "Location-independent identifier" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 67 - anchor.json: "Location-independent identifier with absolute URI" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 68 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 69 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 70 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 71 - anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 72 - anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 73 - anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 74 - anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 75 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 76 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 77 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 78 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 79 - anchor.json: "invalid anchors" - "MUST start with a letter (and not \#)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 80 - anchor.json: "invalid anchors" - "JSON pointers are not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 81 - anchor.json: "invalid anchors" - "invalid with valid beginning" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$anchor/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$anchor", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 82 - anyOf.json: "anyOf" - "first anyOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 83 - anyOf.json: "anyOf" - "second anyOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 84 - anyOf.json: "anyOf" - "both anyOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 85 - anyOf.json: "anyOf" - "neither anyOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "error": "value is smaller than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/minimum" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "error": "value is smaller than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/minimum" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 86 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 87 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 88 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/maxLength" 291s # }, 291s # { 291s # "error": "length is less than 4", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/minLength" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/maxLength" 291s # }, 291s # { 291s # "error": "length is less than 4", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/minLength" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 89 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 90 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 91 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 92 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 93 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 94 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 95 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/anyOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/properties" 291s # }, 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/properties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/anyOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/properties" 291s # }, 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/properties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 96 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 97 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 98 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 99 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/anyOf/0/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/anyOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/anyOf/0/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/anyOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 100 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 101 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 102 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 103 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 104 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 105 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 106 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 107 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 108 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 109 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 110 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 111 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 112 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 113 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 114 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 115 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 116 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 117 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 118 - const.json: "const validation" - "same value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 119 - const.json: "const validation" - "another value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 120 - const.json: "const validation" - "another type is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 121 - const.json: "const with object" - "same object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 122 - const.json: "const with object" - "same object with different property order is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 123 - const.json: "const with object" - "another object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 124 - const.json: "const with object" - "another type is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 125 - const.json: "const with array" - "same array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 126 - const.json: "const with array" - "another array item is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 127 - const.json: "const with array" - "array with additional items is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 128 - const.json: "const with null" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 129 - const.json: "const with null" - "not null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 130 - const.json: "const with false does not match 0" - "false is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 131 - const.json: "const with false does not match 0" - "integer zero is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 132 - const.json: "const with false does not match 0" - "float zero is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 133 - const.json: "const with true does not match 1" - "true is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 134 - const.json: "const with true does not match 1" - "integer one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 135 - const.json: "const with true does not match 1" - "float one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 136 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 137 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 138 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 139 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 140 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 141 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/0\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 142 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 143 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 144 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 145 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 146 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 147 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start at \"/a\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 148 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 149 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 150 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 151 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 152 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 153 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 154 - const.json: "const with 1 does not match true" - "true is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 155 - const.json: "const with 1 does not match true" - "integer one is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 156 - const.json: "const with 1 does not match true" - "float one is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 157 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 158 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 159 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 160 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 161 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 162 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 163 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 164 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 165 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 166 - const.json: "nul characters in strings" - "match string with nul" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 167 - const.json: "nul characters in strings" - "do not match string lacking nul" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/const" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 168 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 169 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 170 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 171 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "value is smaller than 5", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 172 - contains.json: "contains keyword validation" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 173 - contains.json: "contains keyword validation" - "not array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 174 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 175 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 176 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 177 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 178 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 179 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 180 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 181 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 182 - contains.json: "items + contains" - "matches items, does not match contains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 183 - contains.json: "items + contains" - "does not match items, matches contains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 184 - contains.json: "items + contains" - "matches both items and contains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 185 - contains.json: "items + contains" - "matches neither items nor contains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "value is not a multiple of 3", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/contains/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 186 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 187 - contains.json: "contains with false if subschema" - "empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 188 - contains.json: "contains with null instance elements" - "allows null items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 189 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 190 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 191 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 192 - content.json: "validation of binary string-encoding" - "a valid base64 string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 193 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 194 - content.json: "validation of binary string-encoding" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 195 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 196 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 197 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 198 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 199 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 200 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 201 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 202 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 203 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 204 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 205 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 206 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 207 - default.json: "invalid type for default" - "valid when property is specified" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 208 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 209 - default.json: "invalid string value for default" - "valid when property is specified" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 210 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 211 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 212 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 3", 291s # "instanceLocation": "/alpha", 291s # "keywordLocation": "/properties/alpha/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 3", 291s # "instanceLocation": "/alpha", 291s # "keywordLocation": "/properties/alpha/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 213 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 214 - defs.json: "validate definition against metaschema" - "valid definition schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 215 - defs.json: "validate definition against metaschema" - "invalid definition schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type", 291s # "error": "got integer, not array", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/foo", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "/$defs/foo", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type", 291s # "error": "got integer, not array", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/$defs/foo/type", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/foo", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "/$defs/foo", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 216 - dependentRequired.json: "single dependency" - "neither" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 217 - dependentRequired.json: "single dependency" - "nondependant" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 218 - dependentRequired.json: "single dependency" - "with dependency" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 219 - dependentRequired.json: "single dependency" - "missing dependency" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 220 - dependentRequired.json: "single dependency" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 221 - dependentRequired.json: "single dependency" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 222 - dependentRequired.json: "single dependency" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 223 - dependentRequired.json: "empty dependents" - "empty object" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 224 - dependentRequired.json: "empty dependents" - "object with one property" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 225 - dependentRequired.json: "empty dependents" - "non-object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 226 - dependentRequired.json: "multiple dependents required" - "neither" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 227 - dependentRequired.json: "multiple dependents required" - "nondependants" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 228 - dependentRequired.json: "multiple dependents required" - "with dependencies" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 229 - dependentRequired.json: "multiple dependents required" - "missing dependency" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 230 - dependentRequired.json: "multiple dependents required" - "missing other dependency" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 231 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: foo, bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: foo, bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/quux" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 232 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 233 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 234 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\rbar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/foo\nbar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\rbar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/foo\nbar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 235 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo'bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/foo\"bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo'bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired/foo\"bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentRequired" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 236 - dependentSchemas.json: "single dependency" - "valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 237 - dependentSchemas.json: "single dependency" - "no dependency" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 238 - dependentSchemas.json: "single dependency" - "wrong type" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 239 - dependentSchemas.json: "single dependency" - "wrong type other" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 240 - dependentSchemas.json: "single dependency" - "wrong type both" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 291s # }, 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar/properties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 241 - dependentSchemas.json: "single dependency" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 242 - dependentSchemas.json: "single dependency" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 243 - dependentSchemas.json: "single dependency" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 244 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 245 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 246 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/bar" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 247 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 248 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 249 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\"bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo'bar/required" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\"bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo'bar/required" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 250 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 4 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 4 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 251 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\"bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo'bar/required" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo\"bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo'bar/required" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 252 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 253 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 254 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 291s # }, 291s # { 291s # "error": "not all dependencies are satisfied", 291s # "instanceLocation": "", 291s # "keywordLocation": "/dependentSchemas" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 255 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 256 - enum.json: "simple enum validation" - "one of the enum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 257 - enum.json: "simple enum validation" - "something else is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 258 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 259 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 260 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 261 - enum.json: "heterogeneous enum validation" - "valid object matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 262 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 263 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 264 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 265 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 266 - enum.json: "enums in properties" - "both properties are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 267 - enum.json: "enums in properties" - "wrong foo value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/enum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/enum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 268 - enum.json: "enums in properties" - "wrong bar value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/enum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/enum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 269 - enum.json: "enums in properties" - "missing optional property is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 270 - enum.json: "enums in properties" - "missing required property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 271 - enum.json: "enums in properties" - "missing all properties is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 272 - enum.json: "enum with escaped characters" - "member 1 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 273 - enum.json: "enum with escaped characters" - "member 2 is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 274 - enum.json: "enum with escaped characters" - "another string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 275 - enum.json: "enum with false does not match 0" - "false is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 276 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 277 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 278 - enum.json: "enum with true does not match 1" - "true is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 279 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 280 - enum.json: "enum with true does not match 1" - "float one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 281 - enum.json: "enum with 0 does not match false" - "false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 282 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 283 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 284 - enum.json: "enum with 1 does not match true" - "true is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 285 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 286 - enum.json: "enum with 1 does not match true" - "float one is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 287 - enum.json: "nul characters in strings" - "match string with nul" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 288 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 289 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 290 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 291 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 292 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 293 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 294 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 295 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 296 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 297 - format.json: "email format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 298 - format.json: "email format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 299 - format.json: "email format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 300 - format.json: "email format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 301 - format.json: "email format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 302 - format.json: "email format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 303 - format.json: "idn-email format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 304 - format.json: "idn-email format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 305 - format.json: "idn-email format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 306 - format.json: "idn-email format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 307 - format.json: "idn-email format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 308 - format.json: "idn-email format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 309 - format.json: "regex format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 310 - format.json: "regex format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 311 - format.json: "regex format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 312 - format.json: "regex format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 313 - format.json: "regex format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 314 - format.json: "regex format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 315 - format.json: "ipv4 format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 316 - format.json: "ipv4 format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 317 - format.json: "ipv4 format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 318 - format.json: "ipv4 format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 319 - format.json: "ipv4 format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 320 - format.json: "ipv4 format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 321 - format.json: "ipv6 format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 322 - format.json: "ipv6 format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 323 - format.json: "ipv6 format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 324 - format.json: "ipv6 format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 325 - format.json: "ipv6 format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 326 - format.json: "ipv6 format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 327 - format.json: "idn-hostname format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 328 - format.json: "idn-hostname format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 329 - format.json: "idn-hostname format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 330 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 331 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 332 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 333 - format.json: "hostname format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 334 - format.json: "hostname format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 335 - format.json: "hostname format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 336 - format.json: "hostname format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 337 - format.json: "hostname format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 338 - format.json: "hostname format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 339 - format.json: "date format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 340 - format.json: "date format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 341 - format.json: "date format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 342 - format.json: "date format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 343 - format.json: "date format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 344 - format.json: "date format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 345 - format.json: "date-time format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 346 - format.json: "date-time format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 347 - format.json: "date-time format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 348 - format.json: "date-time format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 349 - format.json: "date-time format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 350 - format.json: "date-time format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 351 - format.json: "time format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 352 - format.json: "time format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 353 - format.json: "time format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 354 - format.json: "time format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 355 - format.json: "time format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 356 - format.json: "time format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 357 - format.json: "json-pointer format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 358 - format.json: "json-pointer format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 359 - format.json: "json-pointer format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 360 - format.json: "json-pointer format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 361 - format.json: "json-pointer format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 362 - format.json: "json-pointer format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 363 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 364 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 365 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 366 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 367 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 368 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 369 - format.json: "iri format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 370 - format.json: "iri format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 371 - format.json: "iri format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 372 - format.json: "iri format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 373 - format.json: "iri format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 374 - format.json: "iri format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 375 - format.json: "iri-reference format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 376 - format.json: "iri-reference format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 377 - format.json: "iri-reference format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 378 - format.json: "iri-reference format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 379 - format.json: "iri-reference format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 380 - format.json: "iri-reference format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 381 - format.json: "uri format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 382 - format.json: "uri format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 383 - format.json: "uri format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 384 - format.json: "uri format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 385 - format.json: "uri format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 386 - format.json: "uri format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 387 - format.json: "uri-reference format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 388 - format.json: "uri-reference format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 389 - format.json: "uri-reference format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 390 - format.json: "uri-reference format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 391 - format.json: "uri-reference format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 392 - format.json: "uri-reference format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 393 - format.json: "uri-template format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 394 - format.json: "uri-template format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 395 - format.json: "uri-template format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 396 - format.json: "uri-template format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 397 - format.json: "uri-template format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 398 - format.json: "uri-template format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 399 - format.json: "uuid format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 400 - format.json: "uuid format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 401 - format.json: "uuid format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 402 - format.json: "uuid format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 403 - format.json: "uuid format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 404 - format.json: "uuid format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 405 - format.json: "duration format" - "all string formats ignore integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 406 - format.json: "duration format" - "all string formats ignore floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 407 - format.json: "duration format" - "all string formats ignore objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 408 - format.json: "duration format" - "all string formats ignore arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 409 - format.json: "duration format" - "all string formats ignore booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 410 - format.json: "duration format" - "all string formats ignore nulls" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 411 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 412 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name and no ref" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 413 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 414 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with absolute URI" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 415 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with absolute URI" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 416 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$defs/B/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs/A/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$defs/B/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs/A/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 417 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with base URI change in subschema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$defs/B/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs/A/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$defs/A/$defs/B/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A/$defs/B", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs/A/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "/$defs/A", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/$defs", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 418 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with absolute URI" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 419 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 420 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 421 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier and no ref" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 422 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 423 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment and no ref" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 424 - id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 425 - id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 426 - id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/enum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 427 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 428 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 429 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 430 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 431 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 432 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 433 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 434 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 435 - if-then-else.json: "if and then without else" - "valid through then" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 436 - if-then-else.json: "if and then without else" - "invalid through then" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 437 - if-then-else.json: "if and then without else" - "valid when if test fails" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 438 - if-then-else.json: "if and else without then" - "valid when if test passes" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 439 - if-then-else.json: "if and else without then" - "valid through else" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 440 - if-then-else.json: "if and else without then" - "invalid through else" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 441 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 442 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/minimum" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 443 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 444 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/multipleOf" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 445 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 446 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 447 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 448 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 449 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 450 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 451 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 452 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 453 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/then" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 454 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/const" 291s # }, 291s # { 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 455 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 456 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/int/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/int/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/additionalProperties" 291s # }, 291s # { 291s # "error": "subschemas 0, 1 are not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/int/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/properties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 457 - items.json: "a schema given for items" - "valid items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 458 - items.json: "a schema given for items" - "wrong type of items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 459 - items.json: "a schema given for items" - "ignores non-arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 460 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 461 - items.json: "an array of schemas for items" - "correct types" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 462 - items.json: "an array of schemas for items" - "wrong types" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/type" 291s # }, 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/1/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 463 - items.json: "an array of schemas for items" - "incomplete array of items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 464 - items.json: "an array of schemas for items" - "array with additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 465 - items.json: "an array of schemas for items" - "empty array" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 466 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 467 - items.json: "items with boolean schema (true)" - "any array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 468 - items.json: "items with boolean schema (true)" - "empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 469 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items" 291s # }, 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items" 291s # }, 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 470 - items.json: "items with boolean schema (false)" - "empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 471 - items.json: "items with boolean schemas" - "array with one item is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 472 - items.json: "items with boolean schemas" - "array with two items is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/1" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/1" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 473 - items.json: "items with boolean schemas" - "empty array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 474 - items.json: "items and subitems" - "valid items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 475 - items.json: "items and subitems" - "too many items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 476 - items.json: "items and subitems" - "too many sub-items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0/2", 291s # "keywordLocation": "/items/0/$ref/additionalItems" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/additionalItems" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0/2", 291s # "keywordLocation": "/items/0/$ref/additionalItems" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/additionalItems", 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/additionalItems" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 477 - items.json: "items and subitems" - "wrong item" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/type", 291s # "error": "got object, not array", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/type", 291s # "error": "got object, not array", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 478 - items.json: "items and subitems" - "wrong sub-item" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/items", 291s # "error": "not all items are valid", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/items" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/item/items", 291s # "error": "not all items are valid", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/0/$ref/items" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 479 - items.json: "items and subitems" - "fewer items is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 480 - items.json: "nested items" - "valid nested array" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 481 - items.json: "nested items" - "nested array with invalid type" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/0/0/0/0", 291s # "keywordLocation": "/items/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0/0", 291s # "keywordLocation": "/items/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/0/0/0/0", 291s # "keywordLocation": "/items/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0/0", 291s # "keywordLocation": "/items/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 482 - items.json: "nested items" - "not deep enough" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/0/0/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/0/1/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/1", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/0/2/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/2", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/1/0/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/1/0", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/1/1/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/1/1", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/1/2/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/1/2", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "/0/0/0", 291s # "keywordLocation": "/items/items/items/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 483 - items.json: "single-form items with null instance elements" - "allows null elements" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 484 - items.json: "array-form items with null instance elements" - "allows null elements" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 485 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 486 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 487 - maxContains.json: "maxContains with contains" - "empty data" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 488 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 489 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 490 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 491 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 492 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 493 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 494 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 495 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 496 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 497 - maxItems.json: "maxItems validation" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 498 - maxItems.json: "maxItems validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 499 - maxItems.json: "maxItems validation" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 500 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 501 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 502 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 503 - maxLength.json: "maxLength validation" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 504 - maxLength.json: "maxLength validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 505 - maxLength.json: "maxLength validation" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 506 - maxLength.json: "maxLength validation" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 507 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 508 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 509 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 510 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 511 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 512 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 2 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 2 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 513 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 514 - maxProperties.json: "maxProperties validation" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 515 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 516 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 517 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 2 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 2 properties", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 518 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 519 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 0 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has more than 0 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 520 - maximum.json: "maximum validation" - "below the maximum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 521 - maximum.json: "maximum validation" - "boundary point is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 522 - maximum.json: "maximum validation" - "above the maximum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 3", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 523 - maximum.json: "maximum validation" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 524 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 525 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 526 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 527 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 300", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 300", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 528 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 529 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 530 - minContains.json: "minContains=1 with contains" - "empty data" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 531 - minContains.json: "minContains=1 with contains" - "no elements match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/contains/const" 291s # }, 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 532 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 533 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 534 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 535 - minContains.json: "minContains=2 with contains" - "empty data" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 536 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 537 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 538 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 539 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 540 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 541 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 542 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 543 - minContains.json: "maxContains = minContains" - "empty data" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 544 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 545 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 2 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 546 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 547 - minContains.json: "maxContains < minContains" - "empty data" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # }, 291s # { 291s # "error": "array contains fewer than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is not valid against any item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/contains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 548 - minContains.json: "maxContains < minContains" - "invalid minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains fewer than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 549 - minContains.json: "maxContains < minContains" - "invalid maxContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 550 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # }, 291s # { 291s # "error": "array contains fewer than 3 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 551 - minContains.json: "minContains = 0 with no maxContains" - "empty data" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 552 - minContains.json: "minContains = 0 with no maxContains" - "minContains = 0 makes contains always pass" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 553 - minContains.json: "minContains = 0 with maxContains" - "empty data" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 554 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 555 - minContains.json: "minContains = 0 with maxContains" - "too many" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array contains more than 1 matching items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/maxContains" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 556 - minItems.json: "minItems validation" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 557 - minItems.json: "minItems validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 558 - minItems.json: "minItems validation" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 1 item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 1 item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 559 - minItems.json: "minItems validation" - "ignores non-arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 560 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 561 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 1 item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 1 item", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 562 - minLength.json: "minLength validation" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 563 - minLength.json: "minLength validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 564 - minLength.json: "minLength validation" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 565 - minLength.json: "minLength validation" - "ignores non-strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 566 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 567 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 568 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 569 - minProperties.json: "minProperties validation" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 570 - minProperties.json: "minProperties validation" - "exact length is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 571 - minProperties.json: "minProperties validation" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 1 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 1 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 572 - minProperties.json: "minProperties validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 573 - minProperties.json: "minProperties validation" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 574 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 575 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 576 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 1 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object has fewer than 1 property", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 577 - minimum.json: "minimum validation" - "above the minimum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 578 - minimum.json: "minimum validation" - "boundary point is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 579 - minimum.json: "minimum validation" - "below the minimum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than 1.1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 580 - minimum.json: "minimum validation" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 581 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 582 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 583 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 584 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 585 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 586 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is smaller than -2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 587 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 588 - multipleOf.json: "by int" - "int by int" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 589 - multipleOf.json: "by int" - "int by int fail" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 590 - multipleOf.json: "by int" - "ignores non-numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 591 - multipleOf.json: "by number" - "zero is multiple of anything" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 592 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 593 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 1.5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 1.5", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 594 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 595 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 0.0001", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 0.0001", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 596 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 0.123456789", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is not a multiple of 0.123456789", 291s # "instanceLocation": "", 291s # "keywordLocation": "/multipleOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 597 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 598 - not.json: "not" - "allowed" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 599 - not.json: "not" - "disallowed" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 600 - not.json: "not multiple types" - "valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 601 - not.json: "not multiple types" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 602 - not.json: "not multiple types" - "other mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 603 - not.json: "not more complex schema" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 604 - not.json: "not more complex schema" - "other match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 605 - not.json: "not more complex schema" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 606 - not.json: "forbidden property" - "property present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/not" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/not" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 607 - not.json: "forbidden property" - "property absent" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 608 - not.json: "not with boolean schema true" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 609 - not.json: "not with boolean schema false" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 610 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 611 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/not" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 612 - oneOf.json: "oneOf" - "first oneOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 613 - oneOf.json: "oneOf" - "second oneOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 614 - oneOf.json: "oneOf" - "both oneOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 615 - oneOf.json: "oneOf" - "neither oneOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/type" 291s # }, 291s # { 291s # "error": "value is smaller than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/minimum" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/type" 291s # }, 291s # { 291s # "error": "value is smaller than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/minimum" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 616 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # }, 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 617 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 618 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 619 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 620 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 621 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 622 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/2" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1" 291s # }, 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/2" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 623 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 624 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 625 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 626 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/oneOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/properties" 291s # }, 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/oneOf/1/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/properties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/oneOf/0/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/properties" 291s # }, 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/oneOf/1/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/properties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 627 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 628 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 629 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/required" 291s # }, 291s # { 291s # "error": "object is missing properties: foo, baz", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/required" 291s # }, 291s # { 291s # "error": "object is missing properties: foo, baz", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 630 - oneOf.json: "oneOf with required" - "first valid - valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 631 - oneOf.json: "oneOf with required" - "second valid - valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 632 - oneOf.json: "oneOf with required" - "both valid - invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 633 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 634 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 635 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 636 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/required" 291s # }, 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: bar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/required" 291s # }, 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 637 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 638 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/oneOf/0/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/oneOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/oneOf/0/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/oneOf" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 639 - pattern.json: "pattern validation" - "a matching pattern is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 640 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 641 - pattern.json: "pattern validation" - "ignores booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 642 - pattern.json: "pattern validation" - "ignores integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 643 - pattern.json: "pattern validation" - "ignores floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 644 - pattern.json: "pattern validation" - "ignores objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 645 - pattern.json: "pattern validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 646 - pattern.json: "pattern validation" - "ignores null" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 647 - pattern.json: "pattern is not anchored" - "matches a substring" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 648 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 649 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 650 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.*o/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.*o/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 651 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.*o/type" 291s # }, 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foooooo", 291s # "keywordLocation": "/patternProperties/f.*o/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.*o/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 652 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 653 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 654 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 655 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 656 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 657 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 658 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/a", 291s # "keywordLocation": "/patternProperties/a*/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/a", 291s # "keywordLocation": "/patternProperties/a*/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 659 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 20", 291s # "instanceLocation": "/aaaa", 291s # "keywordLocation": "/patternProperties/aaa*/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is larger than 20", 291s # "instanceLocation": "/aaaa", 291s # "keywordLocation": "/patternProperties/aaa*/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 660 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/aaa", 291s # "keywordLocation": "/patternProperties/a*/type" 291s # }, 291s # { 291s # "error": "value is larger than 20", 291s # "instanceLocation": "/aaaa", 291s # "keywordLocation": "/patternProperties/aaa*/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/aaa", 291s # "keywordLocation": "/patternProperties/a*/type" 291s # }, 291s # { 291s # "error": "value is larger than 20", 291s # "instanceLocation": "/aaaa", 291s # "keywordLocation": "/patternProperties/aaa*/maximum" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 661 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 662 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not boolean", 291s # "instanceLocation": "/a31b", 291s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not boolean", 291s # "instanceLocation": "/a31b", 291s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 663 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 664 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/a_X_3", 291s # "keywordLocation": "/patternProperties/X_/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/a_X_3", 291s # "keywordLocation": "/patternProperties/X_/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 665 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 666 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 667 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 668 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/foobar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/foobar", 291s # "keywordLocation": "/patternProperties/b.*" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 669 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 670 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 671 - properties.json: "object properties validation" - "both properties present and valid is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 672 - properties.json: "object properties validation" - "one property invalid is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 673 - properties.json: "object properties validation" - "both properties invalid is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/type" 291s # }, 291s # { 291s # "error": "got array, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 674 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 675 - properties.json: "object properties validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 676 - properties.json: "object properties validation" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 677 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 678 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 3 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/maxItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 3 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/maxItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 679 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 2 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.o/minItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 2 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/patternProperties/f.o/minItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 680 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 681 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 2 items", 291s # "instanceLocation": "/fxo", 291s # "keywordLocation": "/patternProperties/f.o/minItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has fewer than 2 items", 291s # "instanceLocation": "/fxo", 291s # "keywordLocation": "/patternProperties/f.o/minItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 682 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 683 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 684 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/additionalProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 685 - properties.json: "properties with boolean schema" - "no property present is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 686 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 687 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 688 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 689 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 690 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\tbar", 291s # "keywordLocation": "/properties/foo\tbar/type" 291s # }, 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\nbar", 291s # "keywordLocation": "/properties/foo\nbar/type" 291s # }, 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\fbar", 291s # "keywordLocation": "/properties/foo\fbar/type" 291s # }, 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\rbar", 291s # "keywordLocation": "/properties/foo\rbar/type" 291s # }, 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\"bar", 291s # "keywordLocation": "/properties/foo\"bar/type" 291s # }, 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\\bar", 291s # "keywordLocation": "/properties/foo\\bar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\tbar", 291s # "keywordLocation": "/properties/foo\tbar/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 691 - properties.json: "properties with null valued instance properties" - "allows null values" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 692 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 693 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 694 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 695 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/__proto__", 291s # "keywordLocation": "/properties/__proto__/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/__proto__", 291s # "keywordLocation": "/properties/__proto__/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 696 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/toString/length", 291s # "keywordLocation": "/properties/toString/properties/length/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/toString", 291s # "keywordLocation": "/properties/toString/properties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/toString/length", 291s # "keywordLocation": "/properties/toString/properties/length/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/toString", 291s # "keywordLocation": "/properties/toString/properties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 697 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not number", 291s # "instanceLocation": "/constructor", 291s # "keywordLocation": "/properties/constructor/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not number", 291s # "instanceLocation": "/constructor", 291s # "keywordLocation": "/properties/constructor/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 698 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 699 - propertyNames.json: "propertyNames validation" - "all property names valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 700 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 3", 291s # "instanceLocation": "/foobar", 291s # "keywordLocation": "/propertyNames/maxLength" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is greater than 3", 291s # "instanceLocation": "/foobar", 291s # "keywordLocation": "/propertyNames/maxLength" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 701 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 702 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 703 - propertyNames.json: "propertyNames validation" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 704 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 705 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 706 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "/aaA", 291s # "keywordLocation": "/propertyNames/pattern" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "/aaA", 291s # "keywordLocation": "/propertyNames/pattern" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 707 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 708 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 709 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 710 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/propertyNames" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "subschema is false", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/propertyNames" 291s # }, 291s # { 291s # "error": "not all property names are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/propertyNames" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 711 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 712 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 713 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 714 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 715 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 716 - recursiveRef.json: "$recursiveRef without using nesting" - "integer matches at the outer level" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 717 - recursiveRef.json: "$recursiveRef without using nesting" - "single level match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 718 - recursiveRef.json: "$recursiveRef without using nesting" - "integer does not match as a property value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 719 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, properties match with inner definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 720 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, no match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 721 - recursiveRef.json: "$recursiveRef with nesting" - "integer matches at the outer level" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 722 - recursiveRef.json: "$recursiveRef with nesting" - "single level match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 723 - recursiveRef.json: "$recursiveRef with nesting" - "integer now matches as a property value" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 724 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with inner definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 725 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with $recursiveRef" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 726 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer matches at the outer level" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 727 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "single level match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 728 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer does not match as a property value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 729 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, properties match with inner definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 730 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, integer does not match as a property value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 731 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer matches at the outer level" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 732 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "single level match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 733 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer does not match as a property value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 734 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, properties match with inner definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 735 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, integer does not match as a property value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type", 291s # "error": "got integer, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 736 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match; no recursion" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 737 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node matches: recursion uses the inner schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 738 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match: recursion uses the inner schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 739 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match; no recursion" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 740 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node matches: recursion only uses inner schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 741 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match: recursion only uses inner schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type", 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type", 291s # "error": "got boolean, not object", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/1/additionalProperties/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 742 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to anyLeafNode - floats are allowed" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 743 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to integerNode - floats are not allowed" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type", 291s # "error": "got number, not one of object, integer", 291s # "instanceLocation": "/november", 291s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else", 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type", 291s # "error": "got number, not one of object, integer", 291s # "instanceLocation": "/november", 291s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else", 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 744 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 745 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/integerNode.json#/type", 291s # "error": "got number, not one of object, integer", 291s # "instanceLocation": "/november", 291s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/main.json#/else", 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/integerNode.json#/type", 291s # "error": "got number, not one of object, integer", 291s # "instanceLocation": "/november", 291s # "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://example.com/main.json#/else", 291s # "error": "subschema is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/else" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 746 - ref.json: "root pointer ref" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 747 - ref.json: "root pointer ref" - "recursive match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 748 - ref.json: "root pointer ref" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 749 - ref.json: "root pointer ref" - "recursive mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/additionalProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 750 - ref.json: "relative pointer ref to object" - "match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 751 - ref.json: "relative pointer ref to object" - "mismatch" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/properties/foo/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/properties/foo/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 752 - ref.json: "relative pointer ref to array" - "match array" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 753 - ref.json: "relative pointer ref to array" - "mismatch array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/items/0/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/1/$ref/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/items/0/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/items/1/$ref/type" 291s # }, 291s # { 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 754 - ref.json: "escaped pointer ref" - "slash invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/slash", 291s # "keywordLocation": "/properties/slash/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/slash", 291s # "keywordLocation": "/properties/slash/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 755 - ref.json: "escaped pointer ref" - "tilde invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/tilde", 291s # "keywordLocation": "/properties/tilde/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/tilde", 291s # "keywordLocation": "/properties/tilde/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 756 - ref.json: "escaped pointer ref" - "percent invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/percent", 291s # "keywordLocation": "/properties/percent/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/percent", 291s # "keywordLocation": "/properties/percent/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 757 - ref.json: "escaped pointer ref" - "slash valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 758 - ref.json: "escaped pointer ref" - "tilde valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 759 - ref.json: "escaped pointer ref" - "percent valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 760 - ref.json: "nested refs" - "nested ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 761 - ref.json: "nested refs" - "nested ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/a/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/a/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 762 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 763 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/maxItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "array has more than 2 items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/maxItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 764 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/reffed/type", 291s # "error": "got string, not array", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/reffed/type", 291s # "error": "got string, not array", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 765 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 766 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum", 291s # "error": "value is smaller than 0", 291s # "instanceLocation": "/minLength", 291s # "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/2/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum", 291s # "error": "value is smaller than 0", 291s # "instanceLocation": "/minLength", 291s # "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/2/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 767 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 768 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/$ref", 291s # "keywordLocation": "/properties/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/$ref", 291s # "keywordLocation": "/properties/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 769 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 770 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/is-string/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/$ref", 291s # "keywordLocation": "/properties/$ref/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/is-string/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/$ref", 291s # "keywordLocation": "/properties/$ref/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 771 - ref.json: "$ref to boolean schema true" - "any value is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 772 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/bool", 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/bool", 291s # "error": "subschema is false", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 773 - ref.json: "Recursive references between schemas" - "valid tree" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 774 - ref.json: "Recursive references between schemas" - "invalid tree" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0/subtree/nodes/0", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/nodes/0/subtree/nodes", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0/subtree", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/nodes", 291s # "keywordLocation": "/properties/nodes/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0/subtree/nodes/0", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/nodes/0/subtree/nodes", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0/subtree", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/nodes/0", 291s # "keywordLocation": "/properties/nodes/items/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/nodes", 291s # "keywordLocation": "/properties/nodes/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 775 - ref.json: "refs with quote" - "object with numbers is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 776 - ref.json: "refs with quote" - "object with strings is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\"bar", 291s # "keywordLocation": "/properties/foo\"bar/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "/foo\"bar", 291s # "keywordLocation": "/properties/foo\"bar/$ref/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 777 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/prop1", 291s # "keywordLocation": "/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/prop1", 291s # "keywordLocation": "/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 778 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 779 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/enum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 780 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 781 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 782 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 783 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 784 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo/bar", 291s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 785 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 786 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 787 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 788 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 789 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 790 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum", 291s # "error": "value is larger than 10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum", 291s # "error": "value is larger than 10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 791 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 792 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum", 291s # "error": "value is larger than 10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum", 291s # "error": "value is larger than 10", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/maximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 793 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 794 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 291s # "error": "value is smaller than 30", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/minimum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 291s # "error": "value is smaller than 30", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/minimum" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 795 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 796 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 797 - ref.json: "URN base URI with NSS" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 798 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 799 - ref.json: "URN base URI with r-component" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 800 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 801 - ref.json: "URN base URI with q-component" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 802 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 803 - ref.json: "URN base URI with f-component" - "is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$id/pattern", 291s # "error": "pattern does not match", 291s # "instanceLocation": "/$id", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf", 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 804 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 805 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 806 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 807 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 808 - ref.json: "URN ref with nested pointer ref" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 809 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 810 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 811 - ref.json: "ref to if" - "an integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 812 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 813 - ref.json: "ref to then" - "an integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 814 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 815 - ref.json: "ref to else" - "an integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 816 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 817 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 818 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 819 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 820 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 821 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 822 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 823 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs//$defs//type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/$ref/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs//$defs//type", 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/$ref/type" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 824 - refRemote.json: "remote ref" - "remote ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 825 - refRemote.json: "remote ref" - "remote ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 826 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 827 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 828 - refRemote.json: "anchor within remote ref" - "remote anchor valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 829 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 830 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 831 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 832 - refRemote.json: "base URI change" - "base URI change ref valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 833 - refRemote.json: "base URI change" - "base URI change ref invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/0/0", 291s # "keywordLocation": "/items/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/items/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/items" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 834 - refRemote.json: "base URI change - change folder" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 835 - refRemote.json: "base URI change - change folder" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/list/0", 291s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/list", 291s # "keywordLocation": "/properties/list/$ref/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/list/0", 291s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/list", 291s # "keywordLocation": "/properties/list/$ref/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 836 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 837 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/list/0", 291s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/list", 291s # "keywordLocation": "/properties/list/$ref/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "/list/0", 291s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items", 291s # "error": "subschema is not valid against all items", 291s # "instanceLocation": "/list", 291s # "keywordLocation": "/properties/list/$ref/items" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 838 - refRemote.json: "root ref in remote ref" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 839 - refRemote.json: "root ref in remote ref" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 840 - refRemote.json: "root ref in remote ref" - "object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type", 291s # "error": "got object, not null", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type", 291s # "error": "got object, not null", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/anyOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 841 - refRemote.json: "remote ref with ref to defs" - "invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/$ref/$ref/properties/bar/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 842 - refRemote.json: "remote ref with ref to defs" - "valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 843 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 844 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 845 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/name/foo", 291s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/name/foo", 291s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/name", 291s # "keywordLocation": "/properties/name/$ref/properties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 846 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 847 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 848 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 849 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 850 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 851 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 852 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 853 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 854 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/$ref/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 855 - required.json: "required validation" - "present required property is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 856 - required.json: "required validation" - "non-present required property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing property: foo", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 857 - required.json: "required validation" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 858 - required.json: "required validation" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 859 - required.json: "required validation" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 860 - required.json: "required default validation" - "not required by default" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 861 - required.json: "required with empty array" - "property not required" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 862 - required.json: "required with escaped characters" - "object with all properties present is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 863 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 864 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 865 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 866 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, toString, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, toString, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 867 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: toString, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: toString, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 868 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, constructor", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 869 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, toString", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "object is missing properties: __proto__, toString", 291s # "instanceLocation": "", 291s # "keywordLocation": "/required" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 870 - required.json: "required properties whose names are Javascript object property names" - "all present" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 871 - type.json: "integer type matches integers" - "an integer is an integer" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 872 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 873 - type.json: "integer type matches integers" - "a float is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got number, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 874 - type.json: "integer type matches integers" - "a string is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 875 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got string, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 876 - type.json: "integer type matches integers" - "an object is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got object, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 877 - type.json: "integer type matches integers" - "an array is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got array, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got array, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 878 - type.json: "integer type matches integers" - "a boolean is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got boolean, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 879 - type.json: "integer type matches integers" - "null is not an integer" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got null, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type", 291s # "error": "got null, not integer", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 880 - type.json: "number type matches numbers" - "an integer is a number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 881 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 882 - type.json: "number type matches numbers" - "a float is a number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 883 - type.json: "number type matches numbers" - "a string is not a number" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 884 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 885 - type.json: "number type matches numbers" - "an object is not a number" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 886 - type.json: "number type matches numbers" - "an array is not a number" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 887 - type.json: "number type matches numbers" - "a boolean is not a number" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 888 - type.json: "number type matches numbers" - "null is not a number" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 889 - type.json: "string type matches strings" - "1 is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 890 - type.json: "string type matches strings" - "a float is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got number, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got number, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 891 - type.json: "string type matches strings" - "a string is a string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 892 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 893 - type.json: "string type matches strings" - "an empty string is still a string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 894 - type.json: "string type matches strings" - "an object is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got object, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 895 - type.json: "string type matches strings" - "an array is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got array, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got array, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 896 - type.json: "string type matches strings" - "a boolean is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got boolean, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got boolean, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 897 - type.json: "string type matches strings" - "null is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got null, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got null, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 898 - type.json: "object type matches objects" - "an integer is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 899 - type.json: "object type matches objects" - "a float is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 900 - type.json: "object type matches objects" - "a string is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 901 - type.json: "object type matches objects" - "an object is an object" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 902 - type.json: "object type matches objects" - "an array is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 903 - type.json: "object type matches objects" - "a boolean is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 904 - type.json: "object type matches objects" - "null is not an object" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 905 - type.json: "array type matches arrays" - "an integer is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 906 - type.json: "array type matches arrays" - "a float is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 907 - type.json: "array type matches arrays" - "a string is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 908 - type.json: "array type matches arrays" - "an object is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 909 - type.json: "array type matches arrays" - "an array is an array" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 910 - type.json: "array type matches arrays" - "a boolean is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 911 - type.json: "array type matches arrays" - "null is not an array" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not array", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 912 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 913 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 914 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 915 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 916 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 917 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 918 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 919 - type.json: "boolean type matches booleans" - "true is a boolean" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 920 - type.json: "boolean type matches booleans" - "false is a boolean" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 921 - type.json: "boolean type matches booleans" - "null is not a boolean" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not boolean", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 922 - type.json: "null type matches only the null object" - "an integer is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 923 - type.json: "null type matches only the null object" - "a float is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 924 - type.json: "null type matches only the null object" - "zero is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 925 - type.json: "null type matches only the null object" - "a string is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 926 - type.json: "null type matches only the null object" - "an empty string is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 927 - type.json: "null type matches only the null object" - "an object is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 928 - type.json: "null type matches only the null object" - "an array is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 929 - type.json: "null type matches only the null object" - "true is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 930 - type.json: "null type matches only the null object" - "false is not null" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 931 - type.json: "null type matches only the null object" - "null is null" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 932 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 933 - type.json: "multiple types can be specified in an array" - "a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 934 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got number, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 935 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got object, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 936 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got array, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 937 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got boolean, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 938 - type.json: "multiple types can be specified in an array" - "null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not one of integer, string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 939 - type.json: "type as array with one item" - "string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 940 - type.json: "type as array with one item" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 941 - type.json: "type: array or object" - "array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 942 - type.json: "type: array or object" - "object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 943 - type.json: "type: array or object" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 944 - type.json: "type: array or object" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 945 - type.json: "type: array or object" - "null is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got null, not one of array, object", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 946 - type.json: "type: array, object or null" - "array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 947 - type.json: "type: array, object or null" - "object is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 948 - type.json: "type: array, object or null" - "null is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 949 - type.json: "type: array, object or null" - "number is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of array, object, null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not one of array, object, null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 950 - type.json: "type: array, object or null" - "string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not one of array, object, null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not one of array, object, null", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 951 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 952 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 953 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 954 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 955 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 956 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 957 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 958 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 959 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 960 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 961 - unevaluatedItems.json: "unevaluatedItems with items and additionalItems" - "unevaluatedItems doesn't apply" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 962 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "invalid under unevaluatedItems" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 963 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "all valid under unevaluatedItems" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 964 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "invalid under unevaluatedItems" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got integer, not string", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 965 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "all valid under unevaluatedItems" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 966 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 967 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 968 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 969 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 970 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not boolean", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems/type" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 971 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with no additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 972 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 973 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 974 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 975 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 976 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 977 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 978 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 979 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 980 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 981 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/1", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 982 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 983 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/3", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 984 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 985 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/4", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/4", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 986 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 987 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 988 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 989 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 990 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/allOf/1/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/allOf/1/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 991 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 992 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/foo/1", 291s # "keywordLocation": "/properties/foo/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/unevaluatedItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/foo/1", 291s # "keywordLocation": "/properties/foo/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/unevaluatedItems" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 993 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 994 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 995 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 996 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 997 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 998 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 999 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1000 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1001 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/unevaluatedItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1002 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1003 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1004 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1005 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1006 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 3", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties/minLength" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 3", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties/minLength" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1007 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1008 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1009 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1010 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1011 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1012 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1013 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1014 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1015 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1016 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1017 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1018 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1019 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1020 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1021 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1022 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1023 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1024 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1025 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1026 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1027 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1028 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/quux", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1029 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1030 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1031 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1032 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1033 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1034 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1035 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1036 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1037 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1038 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1039 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1040 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1041 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1042 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1043 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1044 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1045 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1046 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1047 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/baz", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1048 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1049 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1050 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1051 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1052 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1053 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1054 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1055 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1056 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1057 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1058 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1059 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1060 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1061 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/1/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 1 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1062 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1063 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/faz", 291s # "keywordLocation": "/properties/foo/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo/faz", 291s # "keywordLocation": "/properties/foo/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/properties/foo/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1064 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1065 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1066 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "subschema 0 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1067 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1068 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1069 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1070 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1071 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1072 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1073 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1074 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x/y", 291s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x/y", 291s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1075 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1076 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x/x/y", 291s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/x/x", 291s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/properties/x/$ref/properties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x/x/y", 291s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/unevaluatedProperties", 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "/x/x", 291s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/properties/x/$ref/properties" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1077 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/required", 291s # "error": "object is missing property: x", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 291s # }, 291s # { 291s # "error": "object is missing property: y", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/required", 291s # "error": "object is missing property: x", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 291s # }, 291s # { 291s # "error": "object is missing property: y", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1078 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/required", 291s # "error": "object is missing property: x", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 291s # }, 291s # { 291s # "error": "object is missing property: y", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/required", 291s # "error": "object is missing property: x", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 291s # }, 291s # { 291s # "error": "object is missing property: y", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1079 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1080 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1081 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1082 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1083 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1084 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf/2/oneOf" 291s # }, 291s # { 291s # "error": "subschema 2 is not valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/allOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/x", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/y", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1085 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 291s # "error": "object is missing property: c", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 291s # "error": "object is missing property: d", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 291s # "error": "object is missing property: b", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 291s # "error": "object is missing property: xx", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 291s # "error": "object is missing property: all", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 291s # "error": "object is missing property: c", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 291s # "error": "object is missing property: d", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 291s # "error": "object is missing property: b", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 291s # "error": "object is missing property: xx", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 291s # "error": "object is missing property: all", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1086 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1087 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1088 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1089 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1090 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1091 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1092 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1093 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1094 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1095 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 291s # "error": "object is missing property: b", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 291s # "error": "object is missing property: xx", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 291s # "error": "object is missing property: all", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 291s # "error": "object is missing property: b", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 291s # "error": "object is missing property: xx", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 291s # "error": "object is missing property: all", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1096 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1097 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1098 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/foo", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1099 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1100 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 1, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 1, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/b", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1101 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/c", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1102 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 291s # "error": "multiple subschemas are valid: 0, 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/0/$ref/oneOf" 291s # }, 291s # { 291s # "error": "object is missing property: a", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf/1/required" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/d", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/xx", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1103 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1104 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1105 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "multiple subschemas are valid: 0, 1", 291s # "instanceLocation": "", 291s # "keywordLocation": "/oneOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1106 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1107 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1108 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1109 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1110 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1111 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1112 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1113 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1114 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/a", 291s # "keywordLocation": "/unevaluatedProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "/a", 291s # "keywordLocation": "/unevaluatedProperties/type" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1115 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1116 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/unevaluatedProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/unevaluatedProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1117 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1118 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1119 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1120 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1121 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1122 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1123 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1124 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1125 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1126 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1127 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1128 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1129 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1130 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1131 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1132 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 2 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1133 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1134 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1135 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1136 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1137 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1138 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1139 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1140 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 4 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 4 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1141 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1142 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1143 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1144 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1145 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1146 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1147 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1148 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1149 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1150 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1151 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 2 and 3 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 2 and 3 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1152 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 2 and 3 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 2 and 3 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1153 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1154 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1155 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1156 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "items at indices 0 and 1 are not unique", 291s # "instanceLocation": "", 291s # "keywordLocation": "/uniqueItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1157 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1158 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1159 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1160 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1161 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1162 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1163 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1164 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1165 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1166 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1167 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1168 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1169 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1170 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1171 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1172 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1173 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1174 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1175 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1176 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1177 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1178 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1179 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1180 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1181 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1182 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1183 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1184 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1185 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional item not permitted", 291s # "instanceLocation": "/2", 291s # "keywordLocation": "/additionalItems" 291s # }, 291s # { 291s # "error": "subschema is not valid against all additional items", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1186 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1187 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 291s # "error": "got null, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/2/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 291s # "error": "got null, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/2/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1188 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/2/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/0/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 291s # "error": "subschema is valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/1/$ref/not" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf/2/$ref/type" 291s # }, 291s # { 291s # "error": "no subschemas are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/anyOf" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1189 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 291s # "error": "property not permitted", 291s # "instanceLocation": "/badProperty", 291s # "keywordLocation": "/properties/badProperty" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 291s # "error": "property not permitted", 291s # "instanceLocation": "/badProperty", 291s # "keywordLocation": "/properties/badProperty" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/properties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1190 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1191 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1192 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not number", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1193 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 1194 - optional/bignum.json: "integer" - "a bignum is an integer" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1195 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1196 - optional/bignum.json: "number" - "a bignum is a number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1197 - optional/bignum.json: "number" - "a negative bignum is a number" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1198 - optional/bignum.json: "string" - "a bignum is not a string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "", 291s # "keywordLocation": "/type" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1199 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1200 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMaximum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1201 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1202 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 291s # "instanceLocation": "", 291s # "keywordLocation": "/exclusiveMinimum" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1203 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item not a string is invalid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/$ref/prefixItems/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems", 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/prefixItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type", 291s # "error": "got integer, not string", 291s # "instanceLocation": "/0", 291s # "keywordLocation": "/$ref/prefixItems/0/type" 291s # }, 291s # { 291s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems", 291s # "error": "not all items are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/$ref/prefixItems" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1204 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item is a string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1205 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "missing bar is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 1206 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1207 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1208 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1209 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1210 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1211 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1212 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1213 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1214 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1215 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1216 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1217 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1218 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1219 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1220 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1221 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1222 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1223 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1224 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1225 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1226 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1227 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1228 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1229 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1230 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1231 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1232 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1233 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1234 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1235 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1236 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1237 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1238 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1239 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1240 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1241 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s # 291s ok 1242 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1243 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1244 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1245 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1246 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1247 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1248 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1249 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1250 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1251 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1252 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1253 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false # 291s 1..1 291s } 291s ok 1254 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1255 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1256 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true # 291s 1..1 291s } 291s ok 1257 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1258 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false # 291s 1..1 291s } 291s ok 1259 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1260 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1261 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1262 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1263 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1264 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1265 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1266 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1267 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1268 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1269 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1270 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1271 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1272 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1273 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1274 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1275 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1276 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1277 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1278 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1279 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1280 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1281 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1282 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1283 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1284 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1285 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1286 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1287 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1288 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1289 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1290 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1291 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1292 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1293 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1294 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1295 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1296 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1297 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1298 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1299 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1300 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1301 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1302 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/L'ÉCOLE", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/L'ÉCOLE", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1303 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1304 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1305 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1306 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/L'ÉCOLE", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/L'ÉCOLE", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1307 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/l'école", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/l'école", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1308 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/l'école", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/l'école", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1309 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1310 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1311 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/-%#", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/-%#", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1312 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected false; got true 291s # { 291s # "valid": true 291s # } 291s 1..1 291s } 291s ok 1313 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1314 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/-%#", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "additional property not permitted", 291s # "instanceLocation": "/-%#", 291s # "keywordLocation": "/additionalProperties" 291s # }, 291s # { 291s # "error": "not all additional properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/additionalProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1315 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 1316 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 1317 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1318 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "length is less than 2", 291s # "instanceLocation": "", 291s # "keywordLocation": "/minLength" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1319 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s # 291s ok 1320 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1321 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1322 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1323 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1324 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1325 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1326 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "pattern does not match", 291s # "instanceLocation": "", 291s # "keywordLocation": "/pattern" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1327 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1328 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1329 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 291s # result: { 291s # "valid": true 291s # } 291s # short-circuited result: { 291s # "valid": true 291s # } 291s ok 1 - test passes: data is valid: true 291s 1..1 291s } 291s ok 1330 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/🐲", 291s # "keywordLocation": "/patternProperties/^🐲*$/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/🐲", 291s # "keywordLocation": "/patternProperties/^🐲*$/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s ok 1331 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/🐲🐲", 291s # "keywordLocation": "/patternProperties/^🐲*$/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "got string, not integer", 291s # "instanceLocation": "/🐲🐲", 291s # "keywordLocation": "/patternProperties/^🐲*$/type" 291s # }, 291s # { 291s # "error": "not all properties are valid", 291s # "instanceLocation": "", 291s # "keywordLocation": "/patternProperties" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false 291s 1..1 291s } 291s # 291s ok 1332 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1333 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false # 291s 1..1 291s } 291s ok 1334 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s not ok 1 - evaluation result is incorrect # 291s # Failed test (with amnesty) 'evaluation result is incorrect' 291s # at t/zzz-acceptance-draft2019-09.t line 45. 291s # expected true; got false 291s # { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s 1..1 291s } 291s ok 1335 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests" 291s # result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s # short-circuited result: { 291s # "errors": [ 291s # { 291s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 291s # "instanceLocation": "/bar", 291s # "keywordLocation": "/properties/bar/$ref" 291s # } 291s # ], 291s # "valid": false 291s # } 291s ok 1 - test passes: data is valid: false # 291s 1..1 291s } 291s # 291s # 291s # Results using Test::JSON::Schema::Acceptance 1.021 291s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 291s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 291s # specification version: draft2019-09 291s # optional tests included: yes 291s # skipping directory: optional/format 291s # 291s # filename pass todo-fail fail 291s # --------------------------------------------------------------- 291s # additionalItems.json 18 0 0 291s # additionalProperties.json 16 0 0 291s # allOf.json 30 0 0 291s # anchor.json 17 0 0 291s # anyOf.json 18 0 0 291s # boolean_schema.json 18 0 0 291s # const.json 50 0 0 291s # contains.json 21 0 0 291s # content.json 18 0 0 291s # default.json 7 0 0 291s # defs.json 2 0 0 291s # dependentRequired.json 20 0 0 291s # dependentSchemas.json 20 0 0 291s # enum.json 33 0 0 291s # exclusiveMaximum.json 4 0 0 291s # exclusiveMinimum.json 4 0 0 291s # format.json 114 0 0 291s # id.json 18 0 0 291s # if-then-else.json 26 0 0 291s # infinite-loop-detection.json 2 0 0 291s # items.json 28 0 0 291s # maxContains.json 12 0 0 291s # maxItems.json 6 0 0 291s # maxLength.json 7 0 0 291s # maxProperties.json 10 0 0 291s # maximum.json 8 0 0 291s # minContains.json 28 0 0 291s # minItems.json 6 0 0 291s # minLength.json 7 0 0 291s # minProperties.json 8 0 0 291s # minimum.json 11 0 0 291s # multipleOf.json 10 0 0 291s # not.json 14 0 0 291s # oneOf.json 27 0 0 291s # pattern.json 9 0 0 291s # patternProperties.json 23 0 0 291s # properties.json 28 0 0 291s # propertyNames.json 13 0 0 291s # recursiveRef.json 34 0 0 291s # ref.json 78 0 0 291s # refRemote.json 31 0 0 291s # required.json 16 0 0 291s # type.json 80 0 0 291s # unevaluatedItems.json 51 0 0 291s # unevaluatedProperties.json 115 0 0 291s # uniqueItems.json 69 0 0 291s # unknownKeyword.json 3 0 0 291s # vocabulary.json 5 0 0 291s # optional/bignum.json 9 0 0 291s # optional/cross-draft.json 3 0 0 291s # optional/dependencies-compatibility.json 22 14 0 291s # optional/ecmascript-regex.json 60 14 0 291s # optional/float-overflow.json 1 0 0 291s # optional/no-schema.json 3 0 0 291s # optional/non-bmp-regex.json 12 0 0 291s # optional/refOfUnknownKeyword.json 2 2 0 291s # --------------------------------------------------------------- 291s # TOTAL 1305 30 0 291s # 291s # Congratulations, all non-optional tests are passing! 291s # 291s ok 1336 - no leaks in the main evaluator object 291s ok 1337 - no leaks in the short-circuiting evaluator object 291s 1..1337 291s ok 293s t/zzz-acceptance-draft2020-12-format.t .. 293s # AUTHOR_TESTING: 293s # AUTOMATED_TESTING: 1 293s # EXTENDED_TESTING: 293s # NO_TODO: 293s # TEST_DIR: 293s # NO_SHORT_CIRCUIT: 293s # 293s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12/optional/format against draft2020-12... 293s # 293s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date-time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 32 - date.json: "validation of date strings" - "a valid date string" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 64 - date.json: "validation of date strings" - "invalid month" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid date", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 79 - duration.json: "validation of duration strings" - "a valid duration string" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 81 - duration.json: "validation of duration strings" - "no elements present" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 82 - duration.json: "validation of duration strings" - "no time elements present" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 83 - duration.json: "validation of duration strings" - "no date or time elements present" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 84 - duration.json: "validation of duration strings" - "elements out of order" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 85 - duration.json: "validation of duration strings" - "missing time separator" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 86 - duration.json: "validation of duration strings" - "time element in the date position" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 87 - duration.json: "validation of duration strings" - "four years duration" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 88 - duration.json: "validation of duration strings" - "zero time, in seconds" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 89 - duration.json: "validation of duration strings" - "zero time, in days" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 90 - duration.json: "validation of duration strings" - "one month duration" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 91 - duration.json: "validation of duration strings" - "one minute duration" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 92 - duration.json: "validation of duration strings" - "one and a half days, in hours" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 93 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 94 - duration.json: "validation of duration strings" - "two weeks" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 95 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 96 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 97 - duration.json: "validation of duration strings" - "element without unit" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid duration", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 98 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 99 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 104 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 105 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 106 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 107 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 108 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 109 - email.json: "validation of e-mail addresses" - "a quoted string with a space in the local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 110 - email.json: "validation of e-mail addresses" - "a quoted string with a double dot in the local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 111 - email.json: "validation of e-mail addresses" - "a quoted string with a @ in the local part is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 112 - email.json: "validation of e-mail addresses" - "an IPv4-address-literal after the @ is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 113 - email.json: "validation of e-mail addresses" - "an IPv6-address-literal after the @ is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 114 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 115 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 116 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 117 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 118 - email.json: "validation of e-mail addresses" - "an invalid domain" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s ok 119 - email.json: "validation of e-mail addresses" - "an invalid IPv4-address-literal" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s # 293s ok 120 - hostname.json: "validation of host names" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 121 - hostname.json: "validation of host names" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 122 - hostname.json: "validation of host names" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 123 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 124 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 125 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 126 - hostname.json: "validation of host names" - "a valid host name" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 127 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 128 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 129 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 130 - hostname.json: "validation of host names" - "a host name with a component too long" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 131 - hostname.json: "validation of host names" - "starts with hyphen" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 132 - hostname.json: "validation of host names" - "ends with hyphen" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 133 - hostname.json: "validation of host names" - "starts with underscore" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 134 - hostname.json: "validation of host names" - "ends with underscore" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 135 - hostname.json: "validation of host names" - "contains underscore" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 136 - hostname.json: "validation of host names" - "maximum label length" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 137 - hostname.json: "validation of host names" - "exceeds maximum label length" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 138 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 139 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 140 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 141 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 142 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s # 293s ok 143 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 144 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 145 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 146 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 147 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 148 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 149 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 150 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 151 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 152 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-email", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 153 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 154 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 155 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 156 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 157 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 158 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 159 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 160 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 161 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s ok 162 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 163 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 164 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 165 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 166 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 167 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 168 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 169 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 170 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 171 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 172 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 173 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 174 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 175 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 176 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 177 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 178 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 179 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 180 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 181 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 182 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 183 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 184 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 185 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 186 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 187 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 188 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 189 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 190 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 191 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 192 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 193 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 194 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 195 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 196 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 197 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 198 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 199 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 200 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false # 293s 1..1 293s } 293s ok 201 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 202 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 203 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 204 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 205 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 206 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 207 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s ok 208 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected true; got false 293s # { 293s # "errors": [ 293s # { 293s # "error": "not a valid idn-hostname", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s 1..1 293s } 293s # 293s ok 209 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 210 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 211 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 212 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 213 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 214 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 215 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 216 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 217 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 218 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 219 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 220 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 221 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 222 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 223 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 224 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv4", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 225 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 226 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 227 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 228 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 229 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 230 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 231 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 232 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 233 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 234 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 235 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 236 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 237 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 238 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 239 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 240 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 241 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 242 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 243 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 244 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 245 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 246 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 247 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 248 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 249 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 250 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 251 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 252 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 253 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 254 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 255 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 256 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 257 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 258 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 259 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 260 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 261 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 262 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 263 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 264 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid ipv6", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 265 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 266 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 267 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 268 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 269 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 270 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 271 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 272 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 273 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 274 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s ok 275 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 276 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 277 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s # 293s ok 278 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 279 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 280 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 281 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 282 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 283 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 284 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 285 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 286 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 287 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 288 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 289 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s ok 290 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 291 - iri.json: "validation of IRIs" - "an invalid IRI" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 292 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid iri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 324 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 325 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 326 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 327 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 328 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 329 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 330 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 331 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 332 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 333 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 334 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 335 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 336 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 337 - regex.json: "validation of regular expressions" - "a valid regular expression" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 338 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid regex", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid regex", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 339 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 340 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 341 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 342 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 343 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 344 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 350 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 351 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 352 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 353 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 354 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 355 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid relative-json-pointer", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 356 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s # 293s ok 357 - time.json: "validation of time strings" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 358 - time.json: "validation of time strings" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 359 - time.json: "validation of time strings" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 360 - time.json: "validation of time strings" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 361 - time.json: "validation of time strings" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 362 - time.json: "validation of time strings" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 363 - time.json: "validation of time strings" - "a valid time string" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 364 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 365 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 366 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 367 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 368 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 369 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 370 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 371 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 372 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 373 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 374 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 375 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 376 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 377 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 378 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 379 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 380 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 381 - time.json: "validation of time strings" - "a valid time string with second fraction" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 382 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 383 - time.json: "validation of time strings" - "a valid time string with plus offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 384 - time.json: "validation of time strings" - "a valid time string with minus offset" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 385 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 386 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 387 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 388 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 389 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 390 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 391 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 392 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 393 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 394 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 395 - time.json: "validation of time strings" - "an invalid offset indicator" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 396 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 397 - time.json: "validation of time strings" - "no time offset" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 398 - time.json: "validation of time strings" - "no time offset with second fraction" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 399 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 400 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 401 - time.json: "validation of time strings" - "contains letters" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid time", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 402 - unknown.json: "unknown format" - "unknown formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 403 - unknown.json: "unknown format" - "unknown formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 404 - unknown.json: "unknown format" - "unknown formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 405 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 406 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 407 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 408 - unknown.json: "unknown format" - "unknown formats ignore strings" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s # 293s ok 409 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 410 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 411 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 412 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 413 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 414 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 415 - uri-reference.json: "validation of URI References" - "a valid URI" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 416 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 417 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 418 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri-reference", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri-reference", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 419 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 420 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 421 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri-reference", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri-reference", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s # 293s ok 422 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 423 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 424 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 425 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 426 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 427 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 428 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 429 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s ok 430 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s ok 431 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true # 293s 1..1 293s } 293s # 293s ok 432 - uri.json: "validation of URIs" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 433 - uri.json: "validation of URIs" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 434 - uri.json: "validation of URIs" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 435 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 436 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 437 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 438 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 439 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 440 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 441 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 442 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 443 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 444 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 445 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 446 - uri.json: "validation of URIs" - "a valid URL " { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 447 - uri.json: "validation of URIs" - "a valid mailto URI" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 448 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 449 - uri.json: "validation of URIs" - "a valid tel URI" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 450 - uri.json: "validation of URIs" - "a valid URN" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 451 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 452 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 453 - uri.json: "validation of URIs" - "an invalid URI" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 454 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 455 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 456 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uri", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 457 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s not ok 1 - evaluation result is incorrect # 293s # Failed test (with amnesty) 'evaluation result is incorrect' 293s # at t/zzz-acceptance-draft2020-12-format.t line 65. 293s # expected false; got true 293s # { 293s # "valid": true 293s # } 293s 1..1 293s } 293s # 293s ok 458 - uuid.json: "uuid format" - "all string formats ignore integers" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 459 - uuid.json: "uuid format" - "all string formats ignore floats" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 460 - uuid.json: "uuid format" - "all string formats ignore objects" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 461 - uuid.json: "uuid format" - "all string formats ignore arrays" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 462 - uuid.json: "uuid format" - "all string formats ignore booleans" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 463 - uuid.json: "uuid format" - "all string formats ignore nulls" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 464 - uuid.json: "uuid format" - "all upper-case" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 465 - uuid.json: "uuid format" - "all lower-case" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 466 - uuid.json: "uuid format" - "mixed case" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 467 - uuid.json: "uuid format" - "all zeroes is valid" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 468 - uuid.json: "uuid format" - "wrong length" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 469 - uuid.json: "uuid format" - "missing section" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 470 - uuid.json: "uuid format" - "bad characters (not hex)" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 471 - uuid.json: "uuid format" - "no dashes" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 472 - uuid.json: "uuid format" - "too few dashes" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 473 - uuid.json: "uuid format" - "too many dashes" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 474 - uuid.json: "uuid format" - "dashes in the wrong spot" { 293s # result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s # short-circuited result: { 293s # "errors": [ 293s # { 293s # "error": "not a valid uuid", 293s # "instanceLocation": "", 293s # "keywordLocation": "/format" 293s # } 293s # ], 293s # "valid": false 293s # } 293s ok 1 - test passes: data is valid: false 293s 1..1 293s } 293s ok 475 - uuid.json: "uuid format" - "valid version 4" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 476 - uuid.json: "uuid format" - "valid version 5" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 477 - uuid.json: "uuid format" - "hypothetical version 6" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s ok 478 - uuid.json: "uuid format" - "hypothetical version 15" { 293s # result: { 293s # "valid": true 293s # } 293s # short-circuited result: { 293s # "valid": true 293s # } 293s ok 1 - test passes: data is valid: true 293s 1..1 293s } 293s # 293s # 293s # Results using Test::JSON::Schema::Acceptance 1.021 293s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 293s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 293s # specification version: draft2020-12 293s # using custom test directory: /optional/format 293s # optional tests included: yes 293s # 293s # filename pass todo-fail fail 293s # --------------------------------------------------------------- 293s # date-time.json 25 0 0 293s # date.json 47 0 0 293s # duration.json 25 0 0 293s # email.json 20 2 0 293s # hostname.json 18 5 0 293s # idn-email.json 10 0 0 293s # idn-hostname.json 35 21 0 293s # ipv4.json 16 0 0 293s # ipv6.json 40 0 0 293s # iri-reference.json 11 2 0 293s # iri.json 14 1 0 293s # json-pointer.json 38 0 0 293s # regex.json 8 0 0 293s # relative-json-pointer.json 18 0 0 293s # time.json 45 0 0 293s # unknown.json 7 0 0 293s # uri-reference.json 13 0 0 293s # uri-template.json 9 1 0 293s # uri.json 25 1 0 293s # uuid.json 21 0 0 293s # --------------------------------------------------------------- 293s # TOTAL 445 33 0 293s # 293s # Congratulations, all non-optional tests are passing! 293s # 293s ok 479 - no leaks in the main evaluator object 293s ok 480 - no leaks in the short-circuiting evaluator object 293s 1..480 293s ok 302s t/zzz-acceptance-draft2020-12.t ......... 302s # AUTHOR_TESTING: 302s # AUTOMATED_TESTING: 1 302s # EXTENDED_TESTING: 302s # NO_TODO: 302s # TEST_DIR: 302s # NO_SHORT_CIRCUIT: 302s # 302s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 302s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12 against draft2020-12... 302s # 302s ok 1 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 2 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 3 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 4 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 5 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 6 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 7 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 8 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/élmény", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/élmény", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 9 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 10 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 11 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 12 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 13 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 14 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 15 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 16 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 17 - allOf.json: "allOf" - "allOf" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 18 - allOf.json: "allOf" - "mismatch second" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 19 - allOf.json: "allOf" - "mismatch first" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/required" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/required" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 20 - allOf.json: "allOf" - "wrong type" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/properties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/properties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 21 - allOf.json: "allOf with base schema" - "valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 22 - allOf.json: "allOf with base schema" - "mismatch base schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 23 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 24 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: baz", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/required" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: baz", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/required" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 25 - allOf.json: "allOf with base schema" - "mismatch both" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "object is missing property: baz", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/required" 302s # }, 302s # { 302s # "error": "subschemas 0, 1 are not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/required" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 26 - allOf.json: "allOf simple types" - "valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 27 - allOf.json: "allOf simple types" - "mismatch one" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 30", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/maximum" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 30", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/maximum" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 28 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 29 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 30 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1" 302s # }, 302s # { 302s # "error": "subschemas 0, 1 are not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 31 - allOf.json: "allOf with one empty schema" - "any data is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 32 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 33 - allOf.json: "allOf with the first empty schema" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 34 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/type" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/type" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 35 - allOf.json: "allOf with the last empty schema" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 36 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 37 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 38 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/allOf/0/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/allOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/allOf/0/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/allOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 39 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 40 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 41 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 42 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 43 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 44 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 45 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/multipleOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 46 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 47 - anchor.json: "Location-independent identifier" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 48 - anchor.json: "Location-independent identifier" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 49 - anchor.json: "Location-independent identifier with absolute URI" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 50 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 51 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 52 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 53 - anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 54 - anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 55 - anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 56 - anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 57 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 58 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 59 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 60 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/const_not_anchor/const", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 61 - anchor.json: "invalid anchors" - "MUST start with a letter (and not \#)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 62 - anchor.json: "invalid anchors" - "JSON pointers are not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 63 - anchor.json: "invalid anchors" - "invalid with valid beginning" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/$defs/anchorString/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$anchor", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$anchor/$ref/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 64 - anyOf.json: "anyOf" - "first anyOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 65 - anyOf.json: "anyOf" - "second anyOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 66 - anyOf.json: "anyOf" - "both anyOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 67 - anyOf.json: "anyOf" - "neither anyOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/type" 302s # }, 302s # { 302s # "error": "value is smaller than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/minimum" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/type" 302s # }, 302s # { 302s # "error": "value is smaller than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/minimum" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 68 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 69 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 70 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/maxLength" 302s # }, 302s # { 302s # "error": "length is less than 4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/minLength" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/maxLength" 302s # }, 302s # { 302s # "error": "length is less than 4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/minLength" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 71 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 72 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 73 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 74 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 75 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 76 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 77 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/anyOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/properties" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/1/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/properties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/anyOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/properties" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/1/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/properties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 78 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 79 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 80 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 81 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/anyOf/0/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/anyOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/anyOf/0/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/anyOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 82 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 83 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 84 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 85 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 86 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 87 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 88 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 89 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 90 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 91 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 92 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 93 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 94 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 95 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 96 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 97 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 98 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 99 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 100 - const.json: "const validation" - "same value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 101 - const.json: "const validation" - "another value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 102 - const.json: "const validation" - "another type is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 103 - const.json: "const with object" - "same object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 104 - const.json: "const with object" - "same object with different property order is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 105 - const.json: "const with object" - "another object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 106 - const.json: "const with object" - "another type is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 107 - const.json: "const with array" - "same array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 108 - const.json: "const with array" - "another array item is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 109 - const.json: "const with array" - "array with additional items is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 110 - const.json: "const with null" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 111 - const.json: "const with null" - "not null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 112 - const.json: "const with false does not match 0" - "false is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 113 - const.json: "const with false does not match 0" - "integer zero is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 114 - const.json: "const with false does not match 0" - "float zero is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 115 - const.json: "const with true does not match 1" - "true is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 116 - const.json: "const with true does not match 1" - "integer one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 117 - const.json: "const with true does not match 1" - "float one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 118 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 119 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 120 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 121 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 122 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 123 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/0\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 124 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 125 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 126 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 127 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 128 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 129 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start at \"/a\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 130 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 131 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 132 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 133 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 134 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 135 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 136 - const.json: "const with 1 does not match true" - "true is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 137 - const.json: "const with 1 does not match true" - "integer one is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 138 - const.json: "const with 1 does not match true" - "float one is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 139 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 140 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 141 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 142 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 143 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 144 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 145 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 146 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 148 - const.json: "nul characters in strings" - "match string with nul" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 149 - const.json: "nul characters in strings" - "do not match string lacking nul" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/const" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 150 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 151 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 152 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 153 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 154 - contains.json: "contains keyword validation" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 155 - contains.json: "contains keyword validation" - "not array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 156 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 157 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 158 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 159 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 160 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 161 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 162 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 163 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 164 - contains.json: "items + contains" - "matches items, does not match contains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 165 - contains.json: "items + contains" - "does not match items, matches contains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 166 - contains.json: "items + contains" - "matches both items and contains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 167 - contains.json: "items + contains" - "matches neither items nor contains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "value is not a multiple of 3", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 168 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 169 - contains.json: "contains with false if subschema" - "empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 170 - contains.json: "contains with null instance elements" - "allows null items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 171 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 172 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 173 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 174 - content.json: "validation of binary string-encoding" - "a valid base64 string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 175 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 176 - content.json: "validation of binary string-encoding" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 177 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 178 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 179 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 180 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 181 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 182 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 183 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 184 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 185 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 186 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 187 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 188 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 189 - default.json: "invalid type for default" - "valid when property is specified" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 190 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 191 - default.json: "invalid string value for default" - "valid when property is specified" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 192 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 193 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 194 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 3", 302s # "instanceLocation": "/alpha", 302s # "keywordLocation": "/properties/alpha/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 3", 302s # "instanceLocation": "/alpha", 302s # "keywordLocation": "/properties/alpha/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 195 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 196 - defs.json: "validate definition against metaschema" - "valid definition schema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 197 - defs.json: "validate definition against metaschema" - "invalid definition schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type", 302s # "error": "got integer, not array", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/foo", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 3 is not valid", 302s # "instanceLocation": "/$defs/foo", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type", 302s # "error": "got integer, not array", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "/$defs/foo/type", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/foo", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 3 is not valid", 302s # "instanceLocation": "/$defs/foo", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 198 - dependentRequired.json: "single dependency" - "neither" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 199 - dependentRequired.json: "single dependency" - "nondependant" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 200 - dependentRequired.json: "single dependency" - "with dependency" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 201 - dependentRequired.json: "single dependency" - "missing dependency" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 202 - dependentRequired.json: "single dependency" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 203 - dependentRequired.json: "single dependency" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 204 - dependentRequired.json: "single dependency" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 205 - dependentRequired.json: "empty dependents" - "empty object" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 206 - dependentRequired.json: "empty dependents" - "object with one property" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 207 - dependentRequired.json: "empty dependents" - "non-object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 208 - dependentRequired.json: "multiple dependents required" - "neither" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 209 - dependentRequired.json: "multiple dependents required" - "nondependants" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 210 - dependentRequired.json: "multiple dependents required" - "with dependencies" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 211 - dependentRequired.json: "multiple dependents required" - "missing dependency" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 212 - dependentRequired.json: "multiple dependents required" - "missing other dependency" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 213 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: foo, bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: foo, bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/quux" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 214 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 215 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 216 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\rbar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/foo\nbar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\rbar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/foo\nbar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 217 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo'bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/foo\"bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo'bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired/foo\"bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentRequired" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 218 - dependentSchemas.json: "single dependency" - "valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 219 - dependentSchemas.json: "single dependency" - "no dependency" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 220 - dependentSchemas.json: "single dependency" - "wrong type" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 221 - dependentSchemas.json: "single dependency" - "wrong type other" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 222 - dependentSchemas.json: "single dependency" - "wrong type both" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 302s # }, 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/bar/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/dependentSchemas/bar/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar/properties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 223 - dependentSchemas.json: "single dependency" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 224 - dependentSchemas.json: "single dependency" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 225 - dependentSchemas.json: "single dependency" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 226 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 227 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 228 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/bar" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 229 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 230 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 231 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\"bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo'bar/required" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\"bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo'bar/required" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 232 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 4 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 4 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo\tbar/minProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 233 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\"bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo'bar/required" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo\"bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo'bar/required" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 234 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 235 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 236 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas/foo/additionalProperties" 302s # }, 302s # { 302s # "error": "not all dependencies are satisfied", 302s # "instanceLocation": "", 302s # "keywordLocation": "/dependentSchemas" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 237 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 238 - dynamicRef.json: "A $dynamicRef to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 239 - dynamicRef.json: "A $dynamicRef to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 240 - dynamicRef.json: "A $dynamicRef to an $anchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 241 - dynamicRef.json: "A $dynamicRef to an $anchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 242 - dynamicRef.json: "A $ref to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 243 - dynamicRef.json: "A $ref to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 244 - dynamicRef.json: "A $dynamicRef resolves to the first $dynamicAnchor still in scope that is encountered when the schema is evaluated" - "An array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 245 - dynamicRef.json: "A $dynamicRef resolves to the first $dynamicAnchor still in scope that is encountered when the schema is evaluated" - "An array containing non-strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 246 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 247 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of numbers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 248 - dynamicRef.json: "A $dynamicRef with intermediate scopes that don't include a matching $dynamicAnchor does not affect dynamic scope resolution" - "An array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 249 - dynamicRef.json: "A $dynamicRef with intermediate scopes that don't include a matching $dynamicAnchor does not affect dynamic scope resolution" - "An array containing non-strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/$ref/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/$ref/$ref/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 250 - dynamicRef.json: "An $anchor with the same name as a $dynamicAnchor is not used for dynamic scope resolution" - "Any array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 251 - dynamicRef.json: "A $dynamicRef without a matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor" - "Any array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 252 - dynamicRef.json: "A $dynamicRef with a non-matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor" - "Any array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 253 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema with a matching $dynamicAnchor resolves to the first $dynamicAnchor in the dynamic scope" - "The recursive part is valid against the root" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 254 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema with a matching $dynamicAnchor resolves to the first $dynamicAnchor in the dynamic scope" - "The recursive part is not valid against the root" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const", 302s # "error": "value does not match", 302s # "instanceLocation": "/bar/baz/foo", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/bar/baz", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const", 302s # "error": "value does not match", 302s # "instanceLocation": "/bar/baz/foo", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/bar/baz", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/properties/bar/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 255 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema without a matching $dynamicAnchor behaves like a normal $ref to $anchor" - "The recursive part doesn't need to validate against the root" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 256 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with number values" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 257 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with string values" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/then/$ref/$ref/properties/list/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/then/$ref/$ref/properties/list/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 258 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with number values" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type", 302s # "error": "got number, not string", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/else/$ref/$ref/properties/list/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type", 302s # "error": "got number, not string", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/else/$ref/$ref/properties/list/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 259 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with string values" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 260 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "string matches /$defs/thingy, but the $dynamicRef does not stop here" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 261 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "first_scope is not in dynamic scope for the $dynamicRef" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type", 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/$ref/$dynamicRef/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then", 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 262 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "/then/$defs/thingy is the final stop for the $dynamicRef" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 263 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with misspelled field" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/children/0/daat", 302s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/children/0", 302s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/children", 302s # "keywordLocation": "/$ref/properties/children/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/children", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/children/0/daat", 302s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/children/0", 302s # "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/children", 302s # "keywordLocation": "/$ref/properties/children/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/children", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 264 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with correct field" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 265 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect parent schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 266 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect extended schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/elements/0/b", 302s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 267 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "correct extended schema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 268 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect parent schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/allOf/0/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 269 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect extended schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/elements/0/b", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/allOf/0/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 270 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "correct extended schema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 271 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect parent schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/allOf/1/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required", 302s # "error": "object is missing property: elements", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 272 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect extended schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/elements/0/b", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required", 302s # "error": "object is missing property: a", 302s # "instanceLocation": "/elements/0", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/elements", 302s # "keywordLocation": "/allOf/1/$ref/properties/elements/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf", 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 273 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "correct extended schema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 274 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 275 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$dynamicRef/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$dynamicRef/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 276 - enum.json: "simple enum validation" - "one of the enum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 277 - enum.json: "simple enum validation" - "something else is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 278 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 279 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 280 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 281 - enum.json: "heterogeneous enum validation" - "valid object matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 282 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 283 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 284 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 285 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 286 - enum.json: "enums in properties" - "both properties are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 287 - enum.json: "enums in properties" - "wrong foo value" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/enum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/enum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 288 - enum.json: "enums in properties" - "wrong bar value" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/enum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/enum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 289 - enum.json: "enums in properties" - "missing optional property is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 290 - enum.json: "enums in properties" - "missing required property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 291 - enum.json: "enums in properties" - "missing all properties is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 292 - enum.json: "enum with escaped characters" - "member 1 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 293 - enum.json: "enum with escaped characters" - "member 2 is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 294 - enum.json: "enum with escaped characters" - "another string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 295 - enum.json: "enum with false does not match 0" - "false is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 296 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 297 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 298 - enum.json: "enum with true does not match 1" - "true is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 299 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 300 - enum.json: "enum with true does not match 1" - "float one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 301 - enum.json: "enum with 0 does not match false" - "false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 302 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 303 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 304 - enum.json: "enum with 1 does not match true" - "true is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 305 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 306 - enum.json: "enum with 1 does not match true" - "float one is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 307 - enum.json: "nul characters in strings" - "match string with nul" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 308 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 309 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 310 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 311 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 312 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 313 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 314 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 315 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 316 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 317 - format.json: "email format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 318 - format.json: "email format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 319 - format.json: "email format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 320 - format.json: "email format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 321 - format.json: "email format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 322 - format.json: "email format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 323 - format.json: "email format" - "invalid email string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 324 - format.json: "idn-email format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 325 - format.json: "idn-email format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 326 - format.json: "idn-email format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 327 - format.json: "idn-email format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 328 - format.json: "idn-email format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 329 - format.json: "idn-email format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 330 - format.json: "idn-email format" - "invalid idn-email string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 331 - format.json: "regex format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 332 - format.json: "regex format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 333 - format.json: "regex format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 334 - format.json: "regex format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 335 - format.json: "regex format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 336 - format.json: "regex format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 337 - format.json: "regex format" - "invalid regex string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 338 - format.json: "ipv4 format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 339 - format.json: "ipv4 format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 340 - format.json: "ipv4 format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 341 - format.json: "ipv4 format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 342 - format.json: "ipv4 format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 343 - format.json: "ipv4 format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 344 - format.json: "ipv4 format" - "invalid ipv4 string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 345 - format.json: "ipv6 format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 346 - format.json: "ipv6 format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 347 - format.json: "ipv6 format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 348 - format.json: "ipv6 format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 349 - format.json: "ipv6 format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 350 - format.json: "ipv6 format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 351 - format.json: "ipv6 format" - "invalid ipv6 string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 352 - format.json: "idn-hostname format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 353 - format.json: "idn-hostname format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 354 - format.json: "idn-hostname format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 355 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 356 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 357 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 358 - format.json: "idn-hostname format" - "invalid idn-hostname string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 359 - format.json: "hostname format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 360 - format.json: "hostname format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 361 - format.json: "hostname format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 362 - format.json: "hostname format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 363 - format.json: "hostname format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 364 - format.json: "hostname format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 365 - format.json: "hostname format" - "invalid hostname string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 366 - format.json: "date format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 367 - format.json: "date format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 368 - format.json: "date format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 369 - format.json: "date format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 370 - format.json: "date format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 371 - format.json: "date format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 372 - format.json: "date format" - "invalid date string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 373 - format.json: "date-time format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 374 - format.json: "date-time format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 375 - format.json: "date-time format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 376 - format.json: "date-time format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 377 - format.json: "date-time format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 378 - format.json: "date-time format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 379 - format.json: "date-time format" - "invalid date-time string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 380 - format.json: "time format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 381 - format.json: "time format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 382 - format.json: "time format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 383 - format.json: "time format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 384 - format.json: "time format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 385 - format.json: "time format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 386 - format.json: "time format" - "invalid time string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 387 - format.json: "json-pointer format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 388 - format.json: "json-pointer format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 389 - format.json: "json-pointer format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 390 - format.json: "json-pointer format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 391 - format.json: "json-pointer format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 392 - format.json: "json-pointer format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 393 - format.json: "json-pointer format" - "invalid json-pointer string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 394 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 395 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 396 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 397 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 398 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 399 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 400 - format.json: "relative-json-pointer format" - "invalid relative-json-pointer string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 401 - format.json: "iri format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 402 - format.json: "iri format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 403 - format.json: "iri format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 404 - format.json: "iri format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 405 - format.json: "iri format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 406 - format.json: "iri format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 407 - format.json: "iri format" - "invalid iri string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 408 - format.json: "iri-reference format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 409 - format.json: "iri-reference format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 410 - format.json: "iri-reference format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 411 - format.json: "iri-reference format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 412 - format.json: "iri-reference format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 413 - format.json: "iri-reference format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 414 - format.json: "iri-reference format" - "invalid iri-reference string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 415 - format.json: "uri format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 416 - format.json: "uri format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 417 - format.json: "uri format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 418 - format.json: "uri format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 419 - format.json: "uri format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 420 - format.json: "uri format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 421 - format.json: "uri format" - "invalid uri string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 422 - format.json: "uri-reference format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 423 - format.json: "uri-reference format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 424 - format.json: "uri-reference format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 425 - format.json: "uri-reference format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 426 - format.json: "uri-reference format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 427 - format.json: "uri-reference format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 428 - format.json: "uri-reference format" - "invalid uri-reference string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 429 - format.json: "uri-template format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 430 - format.json: "uri-template format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 431 - format.json: "uri-template format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 432 - format.json: "uri-template format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 433 - format.json: "uri-template format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 434 - format.json: "uri-template format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 435 - format.json: "uri-template format" - "invalid uri-template string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 436 - format.json: "uuid format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 437 - format.json: "uuid format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 438 - format.json: "uuid format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 439 - format.json: "uuid format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 440 - format.json: "uuid format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 441 - format.json: "uuid format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 442 - format.json: "uuid format" - "invalid uuid string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 443 - format.json: "duration format" - "all string formats ignore integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 444 - format.json: "duration format" - "all string formats ignore floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 445 - format.json: "duration format" - "all string formats ignore objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 446 - format.json: "duration format" - "all string formats ignore arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 447 - format.json: "duration format" - "all string formats ignore booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 448 - format.json: "duration format" - "all string formats ignore nulls" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 449 - format.json: "duration format" - "invalid duration string is only an annotation by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 450 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 451 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name and no ref" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 452 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 453 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with absolute URI" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 454 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with absolute URI" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 455 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$defs/B/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs/A/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$defs/B/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs/A/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 456 - id.json: "Invalid use of fragments in location-independent $id" - "Identifier path with base URI change in subschema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$defs/B/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs/A/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$defs/A/$defs/B/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A/$defs/B", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs/A/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "/$defs/A", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/$defs", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 457 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with absolute URI" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 458 - id.json: "Valid use of empty fragments in location-independent $id" - "Identifier name with base URI change in subschema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 459 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 460 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier and no ref" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 461 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 462 - id.json: "Unnormalized $ids are allowed but discouraged" - "Unnormalized identifier with empty fragment and no ref" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 463 - id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 464 - id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 465 - id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_enum/enum", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/enum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 466 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 467 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/const_not_id/const", 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/$ref/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 468 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 469 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 470 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 471 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 472 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 473 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 474 - if-then-else.json: "if and then without else" - "valid through then" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 475 - if-then-else.json: "if and then without else" - "invalid through then" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 476 - if-then-else.json: "if and then without else" - "valid when if test fails" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 477 - if-then-else.json: "if and else without then" - "valid when if test passes" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 478 - if-then-else.json: "if and else without then" - "valid through else" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 479 - if-then-else.json: "if and else without then" - "invalid through else" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 480 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 481 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 482 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 483 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 484 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 485 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 486 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 487 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 488 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 489 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 490 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 491 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 492 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/then" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 493 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else/const" 302s # }, 302s # { 302s # "error": "subschema is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/else" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 494 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 495 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/int/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/int/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/additionalProperties" 302s # }, 302s # { 302s # "error": "subschemas 0, 1 are not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/int/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/properties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 496 - items.json: "a schema given for items" - "valid items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 497 - items.json: "a schema given for items" - "wrong type of items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 498 - items.json: "a schema given for items" - "ignores non-arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 499 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 500 - items.json: "items with boolean schema (true)" - "any array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 501 - items.json: "items with boolean schema (true)" - "empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 502 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 503 - items.json: "items with boolean schema (false)" - "empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 504 - items.json: "items and subitems" - "valid items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 505 - items.json: "items and subitems" - "too many items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 506 - items.json: "items and subitems" - "too many sub-items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/items", 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0/2", 302s # "keywordLocation": "/prefixItems/0/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/items" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/items", 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0/2", 302s # "keywordLocation": "/prefixItems/0/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/items" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 507 - items.json: "items and subitems" - "wrong item" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/type", 302s # "error": "got object, not array", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/type", 302s # "error": "got object, not array", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 508 - items.json: "items and subitems" - "wrong sub-item" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/prefixItems", 302s # "error": "not all items are valid", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/prefixItems" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/sub-item/required", 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/item/prefixItems", 302s # "error": "not all items are valid", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/$ref/prefixItems" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 509 - items.json: "items and subitems" - "fewer items is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 510 - items.json: "nested items" - "valid nested array" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 511 - items.json: "nested items" - "nested array with invalid type" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/0/0/0/0", 302s # "keywordLocation": "/items/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0/0", 302s # "keywordLocation": "/items/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/0/0/0/0", 302s # "keywordLocation": "/items/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0/0", 302s # "keywordLocation": "/items/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 512 - items.json: "nested items" - "not deep enough" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/0/0/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/0/1/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/1", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/0/2/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/2", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/1/0/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/1/0", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/1/1/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/1/1", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/1/2/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/1/2", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "/0/0/0", 302s # "keywordLocation": "/items/items/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 513 - items.json: "prefixItems with no additional items allowed" - "empty array" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 514 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (1)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 515 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (2)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 516 - items.json: "prefixItems with no additional items allowed" - "equal number of items present" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 517 - items.json: "prefixItems with no additional items allowed" - "additional items are not permitted" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 518 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, invalid case" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 5", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/minimum" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 519 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, valid case" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 520 - items.json: "prefixItems validation adjusts the starting index for items" - "valid items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 521 - items.json: "prefixItems validation adjusts the starting index for items" - "wrong type of second item" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 522 - items.json: "items with null instance elements" - "allows null elements" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 523 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 524 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 525 - maxContains.json: "maxContains with contains" - "empty data" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 526 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 527 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 528 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 529 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 530 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 531 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 532 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 533 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 534 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 535 - maxItems.json: "maxItems validation" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 536 - maxItems.json: "maxItems validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 537 - maxItems.json: "maxItems validation" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 538 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 539 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 540 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 541 - maxLength.json: "maxLength validation" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 542 - maxLength.json: "maxLength validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 543 - maxLength.json: "maxLength validation" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 544 - maxLength.json: "maxLength validation" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 545 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 546 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 547 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 548 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 549 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 550 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 2 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 2 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 551 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 552 - maxProperties.json: "maxProperties validation" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 553 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 554 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 555 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 2 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 2 properties", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 556 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 557 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 0 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has more than 0 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 558 - maximum.json: "maximum validation" - "below the maximum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 559 - maximum.json: "maximum validation" - "boundary point is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 560 - maximum.json: "maximum validation" - "above the maximum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 3", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 561 - maximum.json: "maximum validation" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 562 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 563 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 564 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 565 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 300", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 300", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 566 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 567 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 568 - minContains.json: "minContains=1 with contains" - "empty data" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 569 - minContains.json: "minContains=1 with contains" - "no elements match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/const" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 570 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 571 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 572 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 573 - minContains.json: "minContains=2 with contains" - "empty data" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 574 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 575 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 576 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 577 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 578 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 579 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 580 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 581 - minContains.json: "maxContains = minContains" - "empty data" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 582 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 583 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 2 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 584 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 585 - minContains.json: "maxContains < minContains" - "empty data" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "array contains fewer than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 586 - minContains.json: "maxContains < minContains" - "invalid minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains fewer than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 587 - minContains.json: "maxContains < minContains" - "invalid maxContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 588 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # }, 302s # { 302s # "error": "array contains fewer than 3 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 589 - minContains.json: "minContains = 0" - "empty data" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 590 - minContains.json: "minContains = 0" - "minContains = 0 makes contains always pass" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 591 - minContains.json: "minContains = 0 with maxContains" - "empty data" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 592 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 593 - minContains.json: "minContains = 0 with maxContains" - "too many" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array contains more than 1 matching items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/maxContains" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 594 - minItems.json: "minItems validation" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 595 - minItems.json: "minItems validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 596 - minItems.json: "minItems validation" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 1 item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 1 item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 597 - minItems.json: "minItems validation" - "ignores non-arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 598 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 599 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 1 item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 1 item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 600 - minLength.json: "minLength validation" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 601 - minLength.json: "minLength validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 602 - minLength.json: "minLength validation" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 603 - minLength.json: "minLength validation" - "ignores non-strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 604 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 605 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 606 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 607 - minProperties.json: "minProperties validation" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 608 - minProperties.json: "minProperties validation" - "exact length is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 609 - minProperties.json: "minProperties validation" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 1 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 1 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 610 - minProperties.json: "minProperties validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 611 - minProperties.json: "minProperties validation" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 612 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 613 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 614 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 1 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object has fewer than 1 property", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 615 - minimum.json: "minimum validation" - "above the minimum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 616 - minimum.json: "minimum validation" - "boundary point is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 617 - minimum.json: "minimum validation" - "below the minimum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than 1.1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 618 - minimum.json: "minimum validation" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 619 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 620 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 621 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 622 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 623 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 624 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is smaller than -2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 625 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 626 - multipleOf.json: "by int" - "int by int" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 627 - multipleOf.json: "by int" - "int by int fail" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 628 - multipleOf.json: "by int" - "ignores non-numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 629 - multipleOf.json: "by number" - "zero is multiple of anything" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 630 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 631 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 1.5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 1.5", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 632 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 633 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 0.0001", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 0.0001", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 634 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 0.123456789", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 0.123456789", 302s # "instanceLocation": "", 302s # "keywordLocation": "/multipleOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 635 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 636 - not.json: "not" - "allowed" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 637 - not.json: "not" - "disallowed" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 638 - not.json: "not multiple types" - "valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 639 - not.json: "not multiple types" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 640 - not.json: "not multiple types" - "other mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 641 - not.json: "not more complex schema" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 642 - not.json: "not more complex schema" - "other match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 643 - not.json: "not more complex schema" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 644 - not.json: "forbidden property" - "property present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/not" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/not" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 645 - not.json: "forbidden property" - "property absent" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 646 - not.json: "not with boolean schema true" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 647 - not.json: "not with boolean schema false" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 648 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 649 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/not" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 650 - oneOf.json: "oneOf" - "first oneOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 651 - oneOf.json: "oneOf" - "second oneOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 652 - oneOf.json: "oneOf" - "both oneOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 653 - oneOf.json: "oneOf" - "neither oneOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/type" 302s # }, 302s # { 302s # "error": "value is smaller than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/minimum" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/type" 302s # }, 302s # { 302s # "error": "value is smaller than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/minimum" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 654 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # }, 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 655 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 656 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 657 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 658 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 659 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 660 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/2" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1" 302s # }, 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/2" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 661 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 662 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 663 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 664 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/oneOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/properties" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/oneOf/1/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/properties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/oneOf/0/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/properties" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/oneOf/1/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/properties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 665 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 666 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 667 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/required" 302s # }, 302s # { 302s # "error": "object is missing properties: foo, baz", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/required" 302s # }, 302s # { 302s # "error": "object is missing properties: foo, baz", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 668 - oneOf.json: "oneOf with required" - "first valid - valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 669 - oneOf.json: "oneOf with required" - "second valid - valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 670 - oneOf.json: "oneOf with required" - "both valid - invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 671 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 672 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 673 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 674 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/required" 302s # }, 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: bar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/required" 302s # }, 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 675 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 676 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/oneOf/0/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/oneOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/oneOf/0/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/oneOf" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 677 - pattern.json: "pattern validation" - "a matching pattern is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 678 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 679 - pattern.json: "pattern validation" - "ignores booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 680 - pattern.json: "pattern validation" - "ignores integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 681 - pattern.json: "pattern validation" - "ignores floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 682 - pattern.json: "pattern validation" - "ignores objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 683 - pattern.json: "pattern validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 684 - pattern.json: "pattern validation" - "ignores null" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 685 - pattern.json: "pattern is not anchored" - "matches a substring" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 686 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 687 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 688 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.*o/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.*o/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 689 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.*o/type" 302s # }, 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foooooo", 302s # "keywordLocation": "/patternProperties/f.*o/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.*o/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 690 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 691 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 692 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 693 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 694 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 695 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 696 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/patternProperties/a*/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/patternProperties/a*/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 697 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 20", 302s # "instanceLocation": "/aaaa", 302s # "keywordLocation": "/patternProperties/aaa*/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is larger than 20", 302s # "instanceLocation": "/aaaa", 302s # "keywordLocation": "/patternProperties/aaa*/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 698 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/aaa", 302s # "keywordLocation": "/patternProperties/a*/type" 302s # }, 302s # { 302s # "error": "value is larger than 20", 302s # "instanceLocation": "/aaaa", 302s # "keywordLocation": "/patternProperties/aaa*/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/aaa", 302s # "keywordLocation": "/patternProperties/a*/type" 302s # }, 302s # { 302s # "error": "value is larger than 20", 302s # "instanceLocation": "/aaaa", 302s # "keywordLocation": "/patternProperties/aaa*/maximum" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 699 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 700 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not boolean", 302s # "instanceLocation": "/a31b", 302s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not boolean", 302s # "instanceLocation": "/a31b", 302s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 701 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 702 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/a_X_3", 302s # "keywordLocation": "/patternProperties/X_/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/a_X_3", 302s # "keywordLocation": "/patternProperties/X_/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 703 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 704 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 705 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 706 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/foobar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/foobar", 302s # "keywordLocation": "/patternProperties/b.*" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 707 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 708 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 709 - prefixItems.json: "a schema given for prefixItems" - "correct types" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 710 - prefixItems.json: "a schema given for prefixItems" - "wrong types" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/type" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/prefixItems/1/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/prefixItems/0/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 711 - prefixItems.json: "a schema given for prefixItems" - "incomplete array of items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 712 - prefixItems.json: "a schema given for prefixItems" - "array with additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 713 - prefixItems.json: "a schema given for prefixItems" - "empty array" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 714 - prefixItems.json: "a schema given for prefixItems" - "JavaScript pseudo-array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 715 - prefixItems.json: "prefixItems with boolean schemas" - "array with one item is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 716 - prefixItems.json: "prefixItems with boolean schemas" - "array with two items is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/prefixItems/1" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/prefixItems/1" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 717 - prefixItems.json: "prefixItems with boolean schemas" - "empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 718 - prefixItems.json: "additional items are allowed by default" - "only the first item is validated" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 719 - prefixItems.json: "prefixItems with null instance elements" - "allows null elements" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 720 - properties.json: "object properties validation" - "both properties present and valid is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 721 - properties.json: "object properties validation" - "one property invalid is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 722 - properties.json: "object properties validation" - "both properties invalid is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/type" 302s # }, 302s # { 302s # "error": "got array, not integer", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 723 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 724 - properties.json: "object properties validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 725 - properties.json: "object properties validation" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 726 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 727 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 3 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/maxItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 3 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/maxItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 728 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 2 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.o/minItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 2 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/patternProperties/f.o/minItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 729 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 730 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 2 items", 302s # "instanceLocation": "/fxo", 302s # "keywordLocation": "/patternProperties/f.o/minItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has fewer than 2 items", 302s # "instanceLocation": "/fxo", 302s # "keywordLocation": "/patternProperties/f.o/minItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 731 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 732 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 733 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/additionalProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 734 - properties.json: "properties with boolean schema" - "no property present is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 735 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 736 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 737 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 738 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 739 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\tbar", 302s # "keywordLocation": "/properties/foo\tbar/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\nbar", 302s # "keywordLocation": "/properties/foo\nbar/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\fbar", 302s # "keywordLocation": "/properties/foo\fbar/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\rbar", 302s # "keywordLocation": "/properties/foo\rbar/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\"bar", 302s # "keywordLocation": "/properties/foo\"bar/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\\bar", 302s # "keywordLocation": "/properties/foo\\bar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\tbar", 302s # "keywordLocation": "/properties/foo\tbar/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 740 - properties.json: "properties with null valued instance properties" - "allows null values" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 741 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 742 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 743 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 744 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/__proto__", 302s # "keywordLocation": "/properties/__proto__/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/__proto__", 302s # "keywordLocation": "/properties/__proto__/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 745 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/toString/length", 302s # "keywordLocation": "/properties/toString/properties/length/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/toString", 302s # "keywordLocation": "/properties/toString/properties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/toString/length", 302s # "keywordLocation": "/properties/toString/properties/length/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/toString", 302s # "keywordLocation": "/properties/toString/properties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 746 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not number", 302s # "instanceLocation": "/constructor", 302s # "keywordLocation": "/properties/constructor/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not number", 302s # "instanceLocation": "/constructor", 302s # "keywordLocation": "/properties/constructor/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 747 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 748 - propertyNames.json: "propertyNames validation" - "all property names valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 749 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 3", 302s # "instanceLocation": "/foobar", 302s # "keywordLocation": "/propertyNames/maxLength" 302s # }, 302s # { 302s # "error": "not all property names are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/propertyNames" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is greater than 3", 302s # "instanceLocation": "/foobar", 302s # "keywordLocation": "/propertyNames/maxLength" 302s # }, 302s # { 302s # "error": "not all property names are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/propertyNames" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 750 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 751 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 752 - propertyNames.json: "propertyNames validation" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 753 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 754 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 755 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 756 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/propertyNames" 302s # }, 302s # { 302s # "error": "not all property names are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/propertyNames" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "subschema is false", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/propertyNames" 302s # }, 302s # { 302s # "error": "not all property names are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/propertyNames" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 757 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 758 - ref.json: "root pointer ref" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 759 - ref.json: "root pointer ref" - "recursive match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 760 - ref.json: "root pointer ref" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 761 - ref.json: "root pointer ref" - "recursive mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/additionalProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/additionalProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 762 - ref.json: "relative pointer ref to object" - "match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 763 - ref.json: "relative pointer ref to object" - "mismatch" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/properties/foo/type", 302s # "error": "got boolean, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/properties/foo/type", 302s # "error": "got boolean, not integer", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 764 - ref.json: "relative pointer ref to array" - "match array" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 765 - ref.json: "relative pointer ref to array" - "mismatch array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/prefixItems/0/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/prefixItems/1/$ref/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/prefixItems/0/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/prefixItems/1/$ref/type" 302s # }, 302s # { 302s # "error": "not all items are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/prefixItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 766 - ref.json: "escaped pointer ref" - "slash invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/slash", 302s # "keywordLocation": "/properties/slash/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/slash~1field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/slash", 302s # "keywordLocation": "/properties/slash/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 767 - ref.json: "escaped pointer ref" - "tilde invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/tilde", 302s # "keywordLocation": "/properties/tilde/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/tilde~0field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/tilde", 302s # "keywordLocation": "/properties/tilde/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 768 - ref.json: "escaped pointer ref" - "percent invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/percent", 302s # "keywordLocation": "/properties/percent/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/percent%25field/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/percent", 302s # "keywordLocation": "/properties/percent/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 769 - ref.json: "escaped pointer ref" - "slash valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 770 - ref.json: "escaped pointer ref" - "tilde valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 771 - ref.json: "escaped pointer ref" - "percent valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 772 - ref.json: "nested refs" - "nested ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 773 - ref.json: "nested refs" - "nested ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/a/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/a/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 774 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 775 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/maxItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "array has more than 2 items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/maxItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 776 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/reffed/type", 302s # "error": "got string, not array", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/reffed/type", 302s # "error": "got string, not array", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 777 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 778 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum", 302s # "error": "value is smaller than 0", 302s # "instanceLocation": "/minLength", 302s # "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/3/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 3 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum", 302s # "error": "value is smaller than 0", 302s # "instanceLocation": "/minLength", 302s # "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/3/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 3 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 779 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 780 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/$ref", 302s # "keywordLocation": "/properties/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/$ref", 302s # "keywordLocation": "/properties/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 781 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 782 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/is-string/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/$ref", 302s # "keywordLocation": "/properties/$ref/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/is-string/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/$ref", 302s # "keywordLocation": "/properties/$ref/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 783 - ref.json: "$ref to boolean schema true" - "any value is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 784 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/bool", 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/bool", 302s # "error": "subschema is false", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 785 - ref.json: "Recursive references between schemas" - "valid tree" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 786 - ref.json: "Recursive references between schemas" - "invalid tree" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0/subtree/nodes/0", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/nodes/0/subtree/nodes", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0/subtree", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/nodes", 302s # "keywordLocation": "/properties/nodes/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0/subtree/nodes/0", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/nodes/0/subtree/nodes", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0/subtree", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/nodes/0", 302s # "keywordLocation": "/properties/nodes/items/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/nodes", 302s # "keywordLocation": "/properties/nodes/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 787 - ref.json: "refs with quote" - "object with numbers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 788 - ref.json: "refs with quote" - "object with strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\"bar", 302s # "keywordLocation": "/properties/foo\"bar/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/foo%22bar/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "/foo\"bar", 302s # "keywordLocation": "/properties/foo\"bar/$ref/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 789 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/prop1", 302s # "keywordLocation": "/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/prop1", 302s # "keywordLocation": "/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 790 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 791 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/enum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 792 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 793 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 794 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 795 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 796 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo/bar", 302s # "keywordLocation": "/properties/foo/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 797 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 798 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 799 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 800 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 801 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 802 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum", 302s # "error": "value is larger than 10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum", 302s # "error": "value is larger than 10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 803 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 804 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum", 302s # "error": "value is larger than 10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum", 302s # "error": "value is larger than 10", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/maximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 805 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 806 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 302s # "error": "value is smaller than 30", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/minimum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 302s # "error": "value is smaller than 30", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/minimum" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 807 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 808 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 809 - ref.json: "URN base URI with NSS" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 810 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 811 - ref.json: "URN base URI with r-component" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 812 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 813 - ref.json: "URN base URI with q-component" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 814 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 815 - ref.json: "URN base URI with f-component" - "is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$id/pattern", 302s # "error": "pattern does not match", 302s # "instanceLocation": "/$id", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties/$id/pattern" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf/0/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf", 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 816 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 817 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 818 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 819 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 820 - ref.json: "URN ref with nested pointer ref" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 821 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 822 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 823 - ref.json: "ref to if" - "an integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 824 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 825 - ref.json: "ref to then" - "an integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 826 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 827 - ref.json: "ref to else" - "an integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 828 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 829 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 830 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 831 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 832 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 833 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 834 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 835 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs//$defs//type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs//$defs//type", 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/$ref/type" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 836 - refRemote.json: "remote ref" - "remote ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 837 - refRemote.json: "remote ref" - "remote ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 838 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 839 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 840 - refRemote.json: "anchor within remote ref" - "remote anchor valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 841 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 842 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 843 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 844 - refRemote.json: "base URI change" - "base URI change ref valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 845 - refRemote.json: "base URI change" - "base URI change ref invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/0/0", 302s # "keywordLocation": "/items/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 846 - refRemote.json: "base URI change - change folder" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 847 - refRemote.json: "base URI change - change folder" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/properties/list/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/properties/list/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 848 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 849 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/properties/list/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "/list/0", 302s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items", 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "/list", 302s # "keywordLocation": "/properties/list/$ref/items" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 850 - refRemote.json: "root ref in remote ref" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 851 - refRemote.json: "root ref in remote ref" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 852 - refRemote.json: "root ref in remote ref" - "object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type", 302s # "error": "got object, not null", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type", 302s # "error": "got object, not null", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/anyOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 853 - refRemote.json: "remote ref with ref to defs" - "invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/$ref/$ref/properties/bar/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 854 - refRemote.json: "remote ref with ref to defs" - "valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 855 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 856 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 857 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/name/foo", 302s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "/name/foo", 302s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/name", 302s # "keywordLocation": "/properties/name/$ref/properties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 858 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 859 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 860 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 861 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 862 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 863 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 864 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 865 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 866 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/$ref/$ref/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 867 - required.json: "required validation" - "present required property is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 868 - required.json: "required validation" - "non-present required property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing property: foo", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 869 - required.json: "required validation" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 870 - required.json: "required validation" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 871 - required.json: "required validation" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 872 - required.json: "required default validation" - "not required by default" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 873 - required.json: "required with empty array" - "property not required" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 874 - required.json: "required with escaped characters" - "object with all properties present is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 875 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 876 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 877 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 878 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, toString, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, toString, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 879 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: toString, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: toString, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 880 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, constructor", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 881 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, toString", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "object is missing properties: __proto__, toString", 302s # "instanceLocation": "", 302s # "keywordLocation": "/required" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 882 - required.json: "required properties whose names are Javascript object property names" - "all present" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 883 - type.json: "integer type matches integers" - "an integer is an integer" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 884 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 885 - type.json: "integer type matches integers" - "a float is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got number, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 886 - type.json: "integer type matches integers" - "a string is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 887 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got string, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 888 - type.json: "integer type matches integers" - "an object is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got object, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got object, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 889 - type.json: "integer type matches integers" - "an array is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got array, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got array, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 890 - type.json: "integer type matches integers" - "a boolean is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got boolean, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got boolean, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 891 - type.json: "integer type matches integers" - "null is not an integer" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got null, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type", 302s # "error": "got null, not integer", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 892 - type.json: "number type matches numbers" - "an integer is a number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 893 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 894 - type.json: "number type matches numbers" - "a float is a number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 895 - type.json: "number type matches numbers" - "a string is not a number" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 896 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 897 - type.json: "number type matches numbers" - "an object is not a number" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 898 - type.json: "number type matches numbers" - "an array is not a number" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 899 - type.json: "number type matches numbers" - "a boolean is not a number" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 900 - type.json: "number type matches numbers" - "null is not a number" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 901 - type.json: "string type matches strings" - "1 is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 902 - type.json: "string type matches strings" - "a float is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got number, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got number, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 903 - type.json: "string type matches strings" - "a string is a string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 904 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 905 - type.json: "string type matches strings" - "an empty string is still a string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 906 - type.json: "string type matches strings" - "an object is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got object, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 907 - type.json: "string type matches strings" - "an array is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got array, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got array, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 908 - type.json: "string type matches strings" - "a boolean is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got boolean, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got boolean, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 909 - type.json: "string type matches strings" - "null is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got null, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got null, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 910 - type.json: "object type matches objects" - "an integer is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 911 - type.json: "object type matches objects" - "a float is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 912 - type.json: "object type matches objects" - "a string is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 913 - type.json: "object type matches objects" - "an object is an object" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 914 - type.json: "object type matches objects" - "an array is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 915 - type.json: "object type matches objects" - "a boolean is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 916 - type.json: "object type matches objects" - "null is not an object" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 917 - type.json: "array type matches arrays" - "an integer is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 918 - type.json: "array type matches arrays" - "a float is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 919 - type.json: "array type matches arrays" - "a string is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 920 - type.json: "array type matches arrays" - "an object is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 921 - type.json: "array type matches arrays" - "an array is an array" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 922 - type.json: "array type matches arrays" - "a boolean is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 923 - type.json: "array type matches arrays" - "null is not an array" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not array", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 924 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 925 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 926 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 927 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 928 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 929 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 930 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 931 - type.json: "boolean type matches booleans" - "true is a boolean" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 932 - type.json: "boolean type matches booleans" - "false is a boolean" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 933 - type.json: "boolean type matches booleans" - "null is not a boolean" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not boolean", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 934 - type.json: "null type matches only the null object" - "an integer is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 935 - type.json: "null type matches only the null object" - "a float is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 936 - type.json: "null type matches only the null object" - "zero is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 937 - type.json: "null type matches only the null object" - "a string is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 938 - type.json: "null type matches only the null object" - "an empty string is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 939 - type.json: "null type matches only the null object" - "an object is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 940 - type.json: "null type matches only the null object" - "an array is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 941 - type.json: "null type matches only the null object" - "true is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 942 - type.json: "null type matches only the null object" - "false is not null" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 943 - type.json: "null type matches only the null object" - "null is null" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 944 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 945 - type.json: "multiple types can be specified in an array" - "a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 946 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got number, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 947 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got object, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 948 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got array, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 949 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got boolean, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 950 - type.json: "multiple types can be specified in an array" - "null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not one of integer, string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 951 - type.json: "type as array with one item" - "string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 952 - type.json: "type as array with one item" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 953 - type.json: "type: array or object" - "array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 954 - type.json: "type: array or object" - "object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 955 - type.json: "type: array or object" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 956 - type.json: "type: array or object" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 957 - type.json: "type: array or object" - "null is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got null, not one of array, object", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 958 - type.json: "type: array, object or null" - "array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 959 - type.json: "type: array, object or null" - "object is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 960 - type.json: "type: array, object or null" - "null is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 961 - type.json: "type: array, object or null" - "number is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of array, object, null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not one of array, object, null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 962 - type.json: "type: array, object or null" - "string is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not one of array, object, null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not one of array, object, null", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 963 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 964 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 965 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 966 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 967 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 968 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 969 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 970 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 971 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 972 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 973 - unevaluatedItems.json: "unevaluatedItems with items and prefixItems" - "unevaluatedItems doesn't apply" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 974 - unevaluatedItems.json: "unevaluatedItems with items" - "valid under items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 975 - unevaluatedItems.json: "unevaluatedItems with items" - "invalid under items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 976 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 977 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 978 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 979 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 980 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not boolean", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 981 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with no additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 982 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 983 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 984 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 985 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 986 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 987 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 988 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 989 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 990 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 991 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 992 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 993 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 994 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 995 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 996 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 997 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 998 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 999 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1000 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/allOf/1/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/allOf/1/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1001 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1002 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/foo/1", 302s # "keywordLocation": "/properties/foo/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/unevaluatedItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/foo/1", 302s # "keywordLocation": "/properties/foo/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/unevaluatedItems" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1003 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "second item is evaluated by contains" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1004 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains fails, second item is not evaluated" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/type" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/contains/type" 302s # }, 302s # { 302s # "error": "got integer, not string", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/contains/type" 302s # }, 302s # { 302s # "error": "subschema is not valid against any item", 302s # "instanceLocation": "", 302s # "keywordLocation": "/contains" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1005 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains passes, second item is not evaluated" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1006 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "5 not evaluated, passes unevaluatedItems" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1007 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "7 not evaluated, fails unevaluatedItems" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is not a multiple of 5", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems/multipleOf" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1008 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "empty array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1009 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1010 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's and b's are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1011 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's, b's and c's are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1012 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1013 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only c's are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1014 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's and c's are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/1", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/3", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1015 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's and c's are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/4", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1016 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1017 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1018 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1019 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1020 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1021 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1022 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1023 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1024 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/0", 302s # "keywordLocation": "/unevaluatedItems" 302s # }, 302s # { 302s # "error": "subschema is not valid against all additional items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1025 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1026 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1027 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1028 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1029 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 3", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties/minLength" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 3", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties/minLength" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1030 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1031 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1032 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1033 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1034 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1035 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1036 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1037 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1038 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1039 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1040 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1041 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1042 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1043 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1044 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1045 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1046 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1047 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1048 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1049 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1050 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1051 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/quux", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1052 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1053 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1054 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1055 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1056 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1057 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1058 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1059 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1060 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1061 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1062 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1063 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1064 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1065 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1066 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1067 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1068 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1069 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1070 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/baz", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1071 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1072 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1073 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1074 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1075 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1076 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1077 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1078 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1079 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1080 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1081 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1082 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1083 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1084 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/1/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 1 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1085 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1086 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo/faz", 302s # "keywordLocation": "/properties/foo/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo/faz", 302s # "keywordLocation": "/properties/foo/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/properties/foo/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1087 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1088 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1089 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "subschema 0 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1090 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1091 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1092 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1093 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1094 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1095 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1096 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1097 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x/y", 302s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x/y", 302s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1098 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1099 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x/x/y", 302s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/x/x", 302s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/properties/x/$ref/properties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x/x/y", 302s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/unevaluatedProperties", 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "/x/x", 302s # "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/properties/x/$ref/properties" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1100 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/required", 302s # "error": "object is missing property: x", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 302s # }, 302s # { 302s # "error": "object is missing property: y", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/required", 302s # "error": "object is missing property: x", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 302s # }, 302s # { 302s # "error": "object is missing property: y", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1101 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/required", 302s # "error": "object is missing property: x", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 302s # }, 302s # { 302s # "error": "object is missing property: y", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/required", 302s # "error": "object is missing property: x", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/0/$ref/required" 302s # }, 302s # { 302s # "error": "object is missing property: y", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1102 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1103 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1104 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1105 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1106 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1107 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf/2/oneOf" 302s # }, 302s # { 302s # "error": "subschema 2 is not valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/allOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/x", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/y", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1108 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 302s # "error": "object is missing property: c", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 302s # "error": "object is missing property: d", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 302s # "error": "object is missing property: b", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 302s # "error": "object is missing property: xx", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 302s # "error": "object is missing property: all", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required", 302s # "error": "object is missing property: c", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required", 302s # "error": "object is missing property: d", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 302s # "error": "object is missing property: b", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 302s # "error": "object is missing property: xx", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 302s # "error": "object is missing property: all", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1109 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1110 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1111 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1112 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1113 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1114 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1115 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1116 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1117 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1118 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 302s # "error": "object is missing property: b", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 302s # "error": "object is missing property: xx", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 302s # "error": "object is missing property: all", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/two/oneOf", 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required", 302s # "error": "object is missing property: b", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/1/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required", 302s # "error": "object is missing property: xx", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/2/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required", 302s # "error": "object is missing property: all", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf/3/required" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1119 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1120 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1121 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/foo", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1122 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1123 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 1, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 1, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/b", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1124 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/c", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1125 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/one/oneOf", 302s # "error": "multiple subschemas are valid: 0, 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/0/$ref/oneOf" 302s # }, 302s # { 302s # "error": "object is missing property: a", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf/1/required" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/d", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/xx", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1126 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1127 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1128 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "multiple subschemas are valid: 0, 1", 302s # "instanceLocation": "", 302s # "keywordLocation": "/oneOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1129 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1130 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1131 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1132 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1133 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1134 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1135 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1136 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1137 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/unevaluatedProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "/a", 302s # "keywordLocation": "/unevaluatedProperties/type" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1138 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1139 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/unevaluatedProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/unevaluatedProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1140 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1141 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1142 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1143 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1144 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1145 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1146 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1147 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1148 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1149 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1150 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1151 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1152 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1153 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1154 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1155 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 2 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1156 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1157 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1158 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1159 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1160 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1161 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1162 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1163 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 4 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 4 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1164 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1165 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1166 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1167 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1168 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1169 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1170 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1171 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1172 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1173 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1174 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 2 and 3 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 2 and 3 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1175 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 2 and 3 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 2 and 3 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1176 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1177 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1178 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1179 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "items at indices 0 and 1 are not unique", 302s # "instanceLocation": "", 302s # "keywordLocation": "/uniqueItems" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1180 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1181 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1182 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1183 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1184 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1185 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1186 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1187 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1188 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1189 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1190 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1191 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1192 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1193 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1194 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1195 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1196 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1197 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1198 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1199 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1200 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1201 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1202 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1203 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1204 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1205 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1206 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1207 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1208 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional item not permitted", 302s # "instanceLocation": "/2", 302s # "keywordLocation": "/items" 302s # }, 302s # { 302s # "error": "subschema is not valid against all items", 302s # "instanceLocation": "", 302s # "keywordLocation": "/items" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1209 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1210 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 302s # "error": "got null, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/2/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 302s # "error": "got null, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/2/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1211 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/2/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/0/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not", 302s # "error": "subschema is valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/1/$ref/not" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf/2/$ref/type" 302s # }, 302s # { 302s # "error": "no subschemas are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/anyOf" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1212 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 302s # "error": "property not permitted", 302s # "instanceLocation": "/badProperty", 302s # "keywordLocation": "/properties/badProperty" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty", 302s # "error": "property not permitted", 302s # "instanceLocation": "/badProperty", 302s # "keywordLocation": "/properties/badProperty" 302s # }, 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/no/validation#/properties", 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/properties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1213 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1214 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1215 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not number", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1216 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 1217 - optional/bignum.json: "integer" - "a bignum is an integer" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1218 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1219 - optional/bignum.json: "number" - "a bignum is a number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1220 - optional/bignum.json: "number" - "a negative bignum is a number" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1221 - optional/bignum.json: "string" - "a bignum is not a string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type", 302s # "error": "got integer, not string", 302s # "instanceLocation": "", 302s # "keywordLocation": "/type" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1222 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1223 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMaximum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1224 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1225 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 302s # "instanceLocation": "", 302s # "keywordLocation": "/exclusiveMinimum" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1226 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "first item not a string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 1227 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1228 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1229 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1230 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1231 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1232 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1233 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1234 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1235 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1236 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1237 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1238 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1239 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1240 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1241 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1242 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1243 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1244 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1245 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1246 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1247 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1248 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1249 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1250 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1251 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1252 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1253 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1254 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1255 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1256 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1257 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1258 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1259 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1260 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1261 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1262 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s # 302s ok 1263 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1264 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1265 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1266 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1267 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1268 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1269 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1270 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1271 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1272 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1273 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1274 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false # 302s 1..1 302s } 302s ok 1275 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1276 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1277 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true # 302s 1..1 302s } 302s ok 1278 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1279 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false # 302s 1..1 302s } 302s ok 1280 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1281 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1282 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1283 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1284 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1285 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1286 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1287 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1288 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1289 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1290 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1291 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1292 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1293 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1294 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1295 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1296 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1297 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1298 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1299 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1300 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1301 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1302 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1303 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1304 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1305 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1306 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1307 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1308 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1309 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1310 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1311 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1312 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1313 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1314 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1315 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1316 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1317 - optional/ecmascript-regex.json: "\a is not an ECMA 262 control escape" - "when used as a pattern" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1318 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1319 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1320 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1321 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1322 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1323 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1324 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/L'ÉCOLE", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/L'ÉCOLE", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1325 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1326 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1327 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1328 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/L'ÉCOLE", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/L'ÉCOLE", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1329 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/l'école", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/l'école", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1330 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/l'école", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/l'école", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1331 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1332 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1333 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/-%#", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/-%#", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1334 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected false; got true 302s # { 302s # "valid": true 302s # } 302s 1..1 302s } 302s ok 1335 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1336 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/-%#", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "additional property not permitted", 302s # "instanceLocation": "/-%#", 302s # "keywordLocation": "/additionalProperties" 302s # }, 302s # { 302s # "error": "not all additional properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/additionalProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1337 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 1338 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 1339 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1340 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 302s # "error": "not a valid ipv4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/format" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format", 302s # "error": "not a valid ipv4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/format" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1341 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1342 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" { 302s # result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 302s # "error": "not a valid ipv4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/format" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format", 302s # "error": "not a valid ipv4", 302s # "instanceLocation": "", 302s # "keywordLocation": "/format" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1343 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1344 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "length is less than 2", 302s # "instanceLocation": "", 302s # "keywordLocation": "/minLength" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1345 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s # 302s ok 1346 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1347 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1348 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1349 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1350 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1351 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1352 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "pattern does not match", 302s # "instanceLocation": "", 302s # "keywordLocation": "/pattern" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1353 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1354 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1355 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 302s # result: { 302s # "valid": true 302s # } 302s # short-circuited result: { 302s # "valid": true 302s # } 302s ok 1 - test passes: data is valid: true 302s 1..1 302s } 302s ok 1356 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/🐲", 302s # "keywordLocation": "/patternProperties/^🐲*$/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/🐲", 302s # "keywordLocation": "/patternProperties/^🐲*$/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s ok 1357 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/🐲🐲", 302s # "keywordLocation": "/patternProperties/^🐲*$/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "got string, not integer", 302s # "instanceLocation": "/🐲🐲", 302s # "keywordLocation": "/patternProperties/^🐲*$/type" 302s # }, 302s # { 302s # "error": "not all properties are valid", 302s # "instanceLocation": "", 302s # "keywordLocation": "/patternProperties" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false 302s 1..1 302s } 302s # 302s ok 1358 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1359 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false # 302s 1..1 302s } 302s ok 1360 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s not ok 1 - evaluation result is incorrect # 302s # Failed test (with amnesty) 'evaluation result is incorrect' 302s # at t/zzz-acceptance-draft2020-12.t line 45. 302s # expected true; got false 302s # { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s 1..1 302s } 302s ok 1361 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests" 302s # result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s # short-circuited result: { 302s # "errors": [ 302s # { 302s # "error": "EXCEPTION: bad reference to #/properties/foo/unknown-keyword: not a schema", 302s # "instanceLocation": "/bar", 302s # "keywordLocation": "/properties/bar/$ref" 302s # } 302s # ], 302s # "valid": false 302s # } 302s ok 1 - test passes: data is valid: false # 302s 1..1 302s } 302s # 302s # 302s # Results using Test::JSON::Schema::Acceptance 1.021 302s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 302s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 302s # specification version: draft2020-12 302s # optional tests included: yes 302s # skipping directory: optional/format 302s # 302s # filename pass todo-fail fail 302s # --------------------------------------------------------------- 302s # additionalProperties.json 16 0 0 302s # allOf.json 30 0 0 302s # anchor.json 17 0 0 302s # anyOf.json 18 0 0 302s # boolean_schema.json 18 0 0 302s # const.json 50 0 0 302s # contains.json 21 0 0 302s # content.json 18 0 0 302s # default.json 7 0 0 302s # defs.json 2 0 0 302s # dependentRequired.json 20 0 0 302s # dependentSchemas.json 20 0 0 302s # dynamicRef.json 38 0 0 302s # enum.json 33 0 0 302s # exclusiveMaximum.json 4 0 0 302s # exclusiveMinimum.json 4 0 0 302s # format.json 133 0 0 302s # id.json 18 0 0 302s # if-then-else.json 26 0 0 302s # infinite-loop-detection.json 2 0 0 302s # items.json 27 0 0 302s # maxContains.json 12 0 0 302s # maxItems.json 6 0 0 302s # maxLength.json 7 0 0 302s # maxProperties.json 10 0 0 302s # maximum.json 8 0 0 302s # minContains.json 28 0 0 302s # minItems.json 6 0 0 302s # minLength.json 7 0 0 302s # minProperties.json 8 0 0 302s # minimum.json 11 0 0 302s # multipleOf.json 10 0 0 302s # not.json 14 0 0 302s # oneOf.json 27 0 0 302s # pattern.json 9 0 0 302s # patternProperties.json 23 0 0 302s # prefixItems.json 11 0 0 302s # properties.json 28 0 0 302s # propertyNames.json 10 0 0 302s # ref.json 78 0 0 302s # refRemote.json 31 0 0 302s # required.json 16 0 0 302s # type.json 80 0 0 302s # unevaluatedItems.json 62 0 0 302s # unevaluatedProperties.json 115 0 0 302s # uniqueItems.json 69 0 0 302s # unknownKeyword.json 3 0 0 302s # vocabulary.json 5 0 0 302s # optional/bignum.json 9 0 0 302s # optional/cross-draft.json 1 0 0 302s # optional/dependencies-compatibility.json 22 14 0 302s # optional/ecmascript-regex.json 60 15 0 302s # optional/float-overflow.json 1 0 0 302s # optional/format-assertion.json 4 0 0 302s # optional/no-schema.json 3 0 0 302s # optional/non-bmp-regex.json 12 0 0 302s # optional/refOfUnknownKeyword.json 2 2 0 302s # --------------------------------------------------------------- 302s # TOTAL 1330 31 0 302s # 302s # Congratulations, all non-optional tests are passing! 302s # 302s ok 1362 - no leaks in the main evaluator object 302s ok 1363 - no leaks in the short-circuiting evaluator object 302s 1..1363 302s ok 304s t/zzz-acceptance-draft7-format.t ........ 304s # AUTHOR_TESTING: 304s # AUTOMATED_TESTING: 1 304s # EXTENDED_TESTING: 304s # NO_TODO: 304s # TEST_DIR: 304s # NO_SHORT_CIRCUIT: 304s # 304s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7/optional/format against draft7... 304s # 304s ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date-time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 32 - date.json: "validation of date strings" - "a valid date string" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 60 - date.json: "validation of date strings" - "an invalid date string" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 64 - date.json: "validation of date strings" - "invalid month" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 65 - date.json: "validation of date strings" - "invalid month-day combination" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 67 - date.json: "validation of date strings" - "2020 is a leap year" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid date", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 73 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 74 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 75 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 76 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 77 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 78 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 79 - email.json: "validation of e-mail addresses" - "a valid e-mail address" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 80 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 81 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 82 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 83 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 84 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 85 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 86 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 87 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 88 - hostname.json: "validation of host names" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 89 - hostname.json: "validation of host names" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 90 - hostname.json: "validation of host names" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 91 - hostname.json: "validation of host names" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 92 - hostname.json: "validation of host names" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 93 - hostname.json: "validation of host names" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 94 - hostname.json: "validation of host names" - "a valid host name" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 95 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 96 - hostname.json: "validation of host names" - "a host name starting with an illegal character" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 97 - hostname.json: "validation of host names" - "a host name containing illegal characters" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 98 - hostname.json: "validation of host names" - "a host name with a component too long" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 99 - hostname.json: "validation of host names" - "starts with hyphen" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 100 - hostname.json: "validation of host names" - "ends with hyphen" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 101 - hostname.json: "validation of host names" - "starts with underscore" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 102 - hostname.json: "validation of host names" - "ends with underscore" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 103 - hostname.json: "validation of host names" - "contains underscore" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 104 - hostname.json: "validation of host names" - "maximum label length" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 105 - hostname.json: "validation of host names" - "exceeds maximum label length" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 106 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 107 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 108 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 109 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s # 304s ok 110 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 111 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 112 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 113 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 114 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 115 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 116 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 117 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 118 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 119 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-email", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 120 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 121 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 122 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 123 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 124 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 125 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 126 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 127 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 128 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s ok 129 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 130 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 131 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 132 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 133 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 134 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 135 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 136 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 137 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 138 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 139 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 140 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 141 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 142 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 143 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 144 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 145 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 146 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 147 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 148 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 149 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 150 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 151 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 152 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 153 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 154 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 155 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 156 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 157 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 158 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 159 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 160 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 161 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 162 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 163 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 164 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 165 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 166 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 167 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false # 304s 1..1 304s } 304s ok 168 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 169 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 170 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 171 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 172 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 173 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s ok 174 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected true; got false 304s # { 304s # "errors": [ 304s # { 304s # "error": "not a valid idn-hostname", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s 1..1 304s } 304s # 304s ok 175 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 176 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 177 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 178 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 179 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 180 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 181 - ipv4.json: "validation of IP addresses" - "a valid IP address" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 182 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 183 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 184 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 185 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 186 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 187 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 188 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 189 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 190 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv4", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 191 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 192 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 193 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 194 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 195 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 196 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 197 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 198 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 199 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 200 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 201 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 202 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 203 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 204 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 205 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 206 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 207 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 208 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 209 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 210 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 211 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 212 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 213 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 214 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 215 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 216 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 217 - ipv6.json: "validation of IPv6 addresses" - "8 octets" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 218 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 219 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 220 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 221 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 222 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 223 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 224 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 225 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 226 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 227 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 228 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 229 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 230 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid ipv6", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 231 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 232 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 233 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 234 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 235 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 236 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 237 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 238 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 239 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 240 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s ok 241 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 242 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 243 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s # 304s ok 244 - iri.json: "validation of IRIs" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 245 - iri.json: "validation of IRIs" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 246 - iri.json: "validation of IRIs" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 247 - iri.json: "validation of IRIs" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 248 - iri.json: "validation of IRIs" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 249 - iri.json: "validation of IRIs" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 250 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 251 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 252 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 253 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 254 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 255 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s ok 256 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 257 - iri.json: "validation of IRIs" - "an invalid IRI" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 258 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid iri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 259 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 260 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 261 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 262 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 263 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 264 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 265 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 266 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 267 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 268 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 269 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 270 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 271 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 272 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 273 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 274 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 275 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 276 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 277 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 278 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 279 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 280 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 281 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 282 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 283 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 284 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 285 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 286 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 287 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 288 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 289 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 290 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 297 - regex.json: "validation of regular expressions" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 298 - regex.json: "validation of regular expressions" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 299 - regex.json: "validation of regular expressions" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 300 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 301 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 302 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 303 - regex.json: "validation of regular expressions" - "a valid regular expression" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 304 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid regex", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid regex", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 305 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 306 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 307 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 308 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 309 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 310 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 311 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 312 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 313 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 314 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 315 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 316 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 317 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 318 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 319 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 320 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 321 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid relative-json-pointer", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 322 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s # 304s ok 323 - time.json: "validation of time strings" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 324 - time.json: "validation of time strings" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 325 - time.json: "validation of time strings" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 326 - time.json: "validation of time strings" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 327 - time.json: "validation of time strings" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 328 - time.json: "validation of time strings" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 329 - time.json: "validation of time strings" - "a valid time string" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 330 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 331 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 332 - time.json: "validation of time strings" - "hour, minute, second must be two digits" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 333 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 334 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 335 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 336 - time.json: "validation of time strings" - "valid leap second, zero time-offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 337 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 338 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 339 - time.json: "validation of time strings" - "valid leap second, positive time-offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 340 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 341 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 342 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 343 - time.json: "validation of time strings" - "valid leap second, negative time-offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 344 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 345 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 346 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 347 - time.json: "validation of time strings" - "a valid time string with second fraction" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 348 - time.json: "validation of time strings" - "a valid time string with precise second fraction" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 349 - time.json: "validation of time strings" - "a valid time string with plus offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 350 - time.json: "validation of time strings" - "a valid time string with minus offset" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 351 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 352 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 353 - time.json: "validation of time strings" - "an invalid time string with invalid hour" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 354 - time.json: "validation of time strings" - "an invalid time string with invalid minute" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 355 - time.json: "validation of time strings" - "an invalid time string with invalid second" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 356 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 357 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 358 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 359 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 360 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 361 - time.json: "validation of time strings" - "an invalid offset indicator" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 362 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 363 - time.json: "validation of time strings" - "no time offset" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 364 - time.json: "validation of time strings" - "no time offset with second fraction" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 365 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 366 - time.json: "validation of time strings" - "offset not starting with plus or minus" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 367 - time.json: "validation of time strings" - "contains letters" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid time", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 368 - unknown.json: "unknown format" - "unknown formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 369 - unknown.json: "unknown format" - "unknown formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 370 - unknown.json: "unknown format" - "unknown formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 371 - unknown.json: "unknown format" - "unknown formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 372 - unknown.json: "unknown format" - "unknown formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 373 - unknown.json: "unknown format" - "unknown formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 374 - unknown.json: "unknown format" - "unknown formats ignore strings" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s # 304s ok 375 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 376 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 377 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 378 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 379 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 380 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 381 - uri-reference.json: "validation of URI References" - "a valid URI" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 382 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 383 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 384 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri-reference", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri-reference", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 385 - uri-reference.json: "validation of URI References" - "a valid URI Reference" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 386 - uri-reference.json: "validation of URI References" - "a valid URI fragment" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 387 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri-reference", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri-reference", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s # 304s ok 388 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 389 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 390 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 391 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 392 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 393 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 394 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 395 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s ok 396 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s ok 397 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true # 304s 1..1 304s } 304s # 304s ok 398 - uri.json: "validation of URIs" - "all string formats ignore integers" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 399 - uri.json: "validation of URIs" - "all string formats ignore floats" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 400 - uri.json: "validation of URIs" - "all string formats ignore objects" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 401 - uri.json: "validation of URIs" - "all string formats ignore arrays" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 402 - uri.json: "validation of URIs" - "all string formats ignore booleans" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 403 - uri.json: "validation of URIs" - "all string formats ignore nulls" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 404 - uri.json: "validation of URIs" - "a valid URL with anchor tag" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 405 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 406 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 407 - uri.json: "validation of URIs" - "a valid puny-coded URL " { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 408 - uri.json: "validation of URIs" - "a valid URL with many special characters" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 409 - uri.json: "validation of URIs" - "a valid URL based on IPv4" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 410 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 411 - uri.json: "validation of URIs" - "a valid URL for a simple text file" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 412 - uri.json: "validation of URIs" - "a valid URL " { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 413 - uri.json: "validation of URIs" - "a valid mailto URI" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 414 - uri.json: "validation of URIs" - "a valid newsgroup URI" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 415 - uri.json: "validation of URIs" - "a valid tel URI" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 416 - uri.json: "validation of URIs" - "a valid URN" { 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s ok 1 - test passes: data is valid: true 304s 1..1 304s } 304s ok 417 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 418 - uri.json: "validation of URIs" - "an invalid relative URI Reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 419 - uri.json: "validation of URIs" - "an invalid URI" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 420 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 421 - uri.json: "validation of URIs" - "an invalid URI with spaces" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 422 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" { 304s # result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s # short-circuited result: { 304s # "errors": [ 304s # { 304s # "error": "not a valid uri", 304s # "instanceLocation": "", 304s # "keywordLocation": "/format" 304s # } 304s # ], 304s # "valid": false 304s # } 304s ok 1 - test passes: data is valid: false 304s 1..1 304s } 304s ok 423 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests" 304s # result: { 304s # "valid": true 304s # } 304s # short-circuited result: { 304s # "valid": true 304s # } 304s not ok 1 - evaluation result is incorrect # 304s # Failed test (with amnesty) 'evaluation result is incorrect' 304s # at t/zzz-acceptance-draft7-format.t line 65. 304s # expected false; got true 304s # { 304s # "valid": true 304s # } 304s 1..1 304s } 304s # 304s # 304s # Results using Test::JSON::Schema::Acceptance 1.021 304s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 304s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 304s # specification version: draft7 304s # using custom test directory: /optional/format 304s # optional tests included: yes 304s # 304s # filename pass todo-fail fail 304s # --------------------------------------------------------------- 304s # date-time.json 25 0 0 304s # date.json 47 0 0 304s # email.json 15 0 0 304s # hostname.json 18 4 0 304s # idn-email.json 10 0 0 304s # idn-hostname.json 35 20 0 304s # ipv4.json 16 0 0 304s # ipv6.json 40 0 0 304s # iri-reference.json 11 2 0 304s # iri.json 14 1 0 304s # json-pointer.json 38 0 0 304s # regex.json 8 0 0 304s # relative-json-pointer.json 18 0 0 304s # time.json 45 0 0 304s # unknown.json 7 0 0 304s # uri-reference.json 13 0 0 304s # uri-template.json 9 1 0 304s # uri.json 25 1 0 304s # --------------------------------------------------------------- 304s # TOTAL 394 29 0 304s # 304s # Congratulations, all non-optional tests are passing! 304s # 304s ok 424 - no leaks in the main evaluator object 304s ok 425 - no leaks in the short-circuiting evaluator object 304s 1..425 304s ok 309s t/zzz-acceptance-draft7.t ............... 309s # AUTHOR_TESTING: 309s # AUTOMATED_TESTING: 1 309s # EXTENDED_TESTING: 309s # NO_TODO: 309s # TEST_DIR: 309s # NO_SHORT_CIRCUIT: 309s # 309s # adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"... 309s # running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7 against draft7... 309s # 309s ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/type" 309s # }, 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/additionalItems/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 18 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 19 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 20 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 25 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 26 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/élmény", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/élmény", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 27 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 28 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 29 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 30 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 31 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 32 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 33 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 34 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 35 - allOf.json: "allOf" - "allOf" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 36 - allOf.json: "allOf" - "mismatch second" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 37 - allOf.json: "allOf" - "mismatch first" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/required" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/required" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 38 - allOf.json: "allOf" - "wrong type" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/properties" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/properties" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 39 - allOf.json: "allOf with base schema" - "valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 40 - allOf.json: "allOf with base schema" - "mismatch base schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 41 - allOf.json: "allOf with base schema" - "mismatch first allOf" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 42 - allOf.json: "allOf with base schema" - "mismatch second allOf" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: baz", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/required" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: baz", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/required" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 43 - allOf.json: "allOf with base schema" - "mismatch both" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "object is missing property: baz", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/required" 309s # }, 309s # { 309s # "error": "subschemas 0, 1 are not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/required" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 44 - allOf.json: "allOf simple types" - "valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 45 - allOf.json: "allOf simple types" - "mismatch one" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 30", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/maximum" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 30", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/maximum" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 46 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 47 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 48 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1" 309s # }, 309s # { 309s # "error": "subschemas 0, 1 are not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 49 - allOf.json: "allOf with one empty schema" - "any data is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 50 - allOf.json: "allOf with two empty schemas" - "any data is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 51 - allOf.json: "allOf with the first empty schema" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 52 - allOf.json: "allOf with the first empty schema" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/type" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/type" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 53 - allOf.json: "allOf with the last empty schema" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 54 - allOf.json: "allOf with the last empty schema" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 55 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 56 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/allOf/0/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/allOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/allOf/0/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/allOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 57 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 58 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/multipleOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 65 - anyOf.json: "anyOf" - "first anyOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 66 - anyOf.json: "anyOf" - "second anyOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 67 - anyOf.json: "anyOf" - "both anyOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 68 - anyOf.json: "anyOf" - "neither anyOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/type" 309s # }, 309s # { 309s # "error": "value is smaller than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/minimum" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/type" 309s # }, 309s # { 309s # "error": "value is smaller than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/minimum" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 69 - anyOf.json: "anyOf with base schema" - "mismatch base schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 70 - anyOf.json: "anyOf with base schema" - "one anyOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 71 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/maxLength" 309s # }, 309s # { 309s # "error": "length is less than 4", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/minLength" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/maxLength" 309s # }, 309s # { 309s # "error": "length is less than 4", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/minLength" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 72 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 73 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 74 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 75 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 76 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 77 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 78 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/anyOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/properties" 309s # }, 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/anyOf/1/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/properties" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/anyOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/properties" 309s # }, 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/anyOf/1/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/properties" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 79 - anyOf.json: "anyOf with one empty schema" - "string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 80 - anyOf.json: "anyOf with one empty schema" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 81 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 82 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/anyOf/0/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/anyOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/anyOf/0/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/anyOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 83 - boolean_schema.json: "boolean schema 'true'" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 84 - boolean_schema.json: "boolean schema 'true'" - "string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 85 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 86 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 87 - boolean_schema.json: "boolean schema 'true'" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 88 - boolean_schema.json: "boolean schema 'true'" - "object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 89 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 90 - boolean_schema.json: "boolean schema 'true'" - "array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 91 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 92 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 93 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 94 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 95 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 96 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 97 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 98 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 99 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 100 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 101 - const.json: "const validation" - "same value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 102 - const.json: "const validation" - "another value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 103 - const.json: "const validation" - "another type is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 104 - const.json: "const with object" - "same object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 105 - const.json: "const with object" - "same object with different property order is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 106 - const.json: "const with object" - "another object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 107 - const.json: "const with object" - "another type is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 108 - const.json: "const with array" - "same array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 109 - const.json: "const with array" - "another array item is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 110 - const.json: "const with array" - "array with additional items is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 111 - const.json: "const with null" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 112 - const.json: "const with null" - "not null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 113 - const.json: "const with false does not match 0" - "false is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 114 - const.json: "const with false does not match 0" - "integer zero is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 115 - const.json: "const with false does not match 0" - "float zero is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 116 - const.json: "const with true does not match 1" - "true is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 117 - const.json: "const with true does not match 1" - "integer one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 118 - const.json: "const with true does not match 1" - "float one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 119 - const.json: "const with [false] does not match [0]" - "[false] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 120 - const.json: "const with [false] does not match [0]" - "[0] is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 121 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 122 - const.json: "const with [true] does not match [1]" - "[true] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 123 - const.json: "const with [true] does not match [1]" - "[1] is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 124 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/0\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 125 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 126 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 127 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 128 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 129 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 130 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start at \"/a\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 131 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 132 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 133 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 134 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 135 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 136 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 137 - const.json: "const with 1 does not match true" - "true is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 138 - const.json: "const with 1 does not match true" - "integer one is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 139 - const.json: "const with 1 does not match true" - "float one is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 140 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 141 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 142 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 143 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 144 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 145 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 146 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 148 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 149 - const.json: "nul characters in strings" - "match string with nul" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 150 - const.json: "nul characters in strings" - "do not match string lacking nul" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/const" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 151 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 152 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 153 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 154 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "value is smaller than 5", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 155 - contains.json: "contains keyword validation" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 156 - contains.json: "contains keyword validation" - "not array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 157 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 158 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 159 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/contains/const" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 160 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 161 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 162 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 163 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 164 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 165 - contains.json: "items + contains" - "matches items, does not match contains" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 166 - contains.json: "items + contains" - "does not match items, matches contains" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 167 - contains.json: "items + contains" - "matches both items and contains" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 168 - contains.json: "items + contains" - "matches neither items nor contains" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "value is not a multiple of 3", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/contains/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 169 - contains.json: "contains with false if subschema" - "any non-empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 170 - contains.json: "contains with false if subschema" - "empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is not valid against any item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contains" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 171 - contains.json: "contains with null instance elements" - "allows null items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 172 - default.json: "invalid type for default" - "valid when property is specified" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 173 - default.json: "invalid type for default" - "still valid when the invalid default is used" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 174 - default.json: "invalid string value for default" - "valid when property is specified" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 175 - default.json: "invalid string value for default" - "still valid when the invalid default is used" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 176 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 177 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 3", 309s # "instanceLocation": "/alpha", 309s # "keywordLocation": "/properties/alpha/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 3", 309s # "instanceLocation": "/alpha", 309s # "keywordLocation": "/properties/alpha/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 178 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 179 - definitions.json: "validate definition against metaschema" - "valid definition schema" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 180 - definitions.json: "validate definition against metaschema" - "invalid definition schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum", 309s # "error": "value does not match", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type", 309s # "error": "got integer, not array", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf", 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/definitions/foo", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties", 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "/definitions", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum", 309s # "error": "value does not match", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type", 309s # "error": "got integer, not array", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf", 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "/definitions/foo/type", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/definitions/foo", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties", 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "/definitions", 309s # "keywordLocation": "/$ref/properties/definitions/additionalProperties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 181 - dependencies.json: "dependencies" - "neither" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 182 - dependencies.json: "dependencies" - "nondependant" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 183 - dependencies.json: "dependencies" - "with dependency" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 184 - dependencies.json: "dependencies" - "missing dependency" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 185 - dependencies.json: "dependencies" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 186 - dependencies.json: "dependencies" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 187 - dependencies.json: "dependencies" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 188 - dependencies.json: "dependencies with empty array" - "empty object" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 189 - dependencies.json: "dependencies with empty array" - "object with one property" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 190 - dependencies.json: "dependencies with empty array" - "non-object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 191 - dependencies.json: "multiple dependencies" - "neither" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 192 - dependencies.json: "multiple dependencies" - "nondependants" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 193 - dependencies.json: "multiple dependencies" - "with dependencies" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 194 - dependencies.json: "multiple dependencies" - "missing dependency" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 195 - dependencies.json: "multiple dependencies" - "missing other dependency" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 196 - dependencies.json: "multiple dependencies" - "missing both dependencies" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: foo, bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: foo, bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/quux" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 197 - dependencies.json: "multiple dependencies subschema" - "valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 198 - dependencies.json: "multiple dependencies subschema" - "no dependency" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 199 - dependencies.json: "multiple dependencies subschema" - "wrong type" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/bar/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/bar/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 200 - dependencies.json: "multiple dependencies subschema" - "wrong type other" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/dependencies/bar/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/dependencies/bar/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 201 - dependencies.json: "multiple dependencies subschema" - "wrong type both" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/dependencies/bar/properties/bar/type" 309s # }, 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/bar/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/dependencies/bar/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar/properties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 202 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema true is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 203 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 204 - dependencies.json: "dependencies with boolean subschemas" - "object with both properties is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 205 - dependencies.json: "dependencies with boolean subschemas" - "empty object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 206 - dependencies.json: "dependencies with escaped characters" - "valid object 1" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 207 - dependencies.json: "dependencies with escaped characters" - "valid object 2" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 208 - dependencies.json: "dependencies with escaped characters" - "valid object 3" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 209 - dependencies.json: "dependencies with escaped characters" - "invalid object 1" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo\rbar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\nbar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo\rbar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\nbar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 210 - dependencies.json: "dependencies with escaped characters" - "invalid object 2" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 4 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\tbar/minProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 4 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\tbar/minProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 211 - dependencies.json: "dependencies with escaped characters" - "invalid object 3" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo\"bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo'bar/required" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo\"bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo'bar/required" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 212 - dependencies.json: "dependencies with escaped characters" - "invalid object 4" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo'bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\"bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo'bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo\"bar" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 213 - dependencies.json: "dependent subschema incompatible with root" - "matches root" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 214 - dependencies.json: "dependent subschema incompatible with root" - "matches dependency" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 215 - dependencies.json: "dependent subschema incompatible with root" - "matches both" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies/foo/additionalProperties" 309s # }, 309s # { 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/dependencies" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 216 - dependencies.json: "dependent subschema incompatible with root" - "no dependency" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 217 - enum.json: "simple enum validation" - "one of the enum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 218 - enum.json: "simple enum validation" - "something else is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 219 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 220 - enum.json: "heterogeneous enum validation" - "something else is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 221 - enum.json: "heterogeneous enum validation" - "objects are deep compared" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match (differences start from item #0 at \"\", from item #1 at \"\", from item #2 at \"\", from item #3 at \"\", from item #4 at \"/foo\")", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 222 - enum.json: "heterogeneous enum validation" - "valid object matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 223 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 224 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 225 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 226 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 227 - enum.json: "enums in properties" - "both properties are valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 228 - enum.json: "enums in properties" - "wrong foo value" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/enum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/enum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 229 - enum.json: "enums in properties" - "wrong bar value" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/enum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/enum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 230 - enum.json: "enums in properties" - "missing optional property is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 231 - enum.json: "enums in properties" - "missing required property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 232 - enum.json: "enums in properties" - "missing all properties is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 233 - enum.json: "enum with escaped characters" - "member 1 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 234 - enum.json: "enum with escaped characters" - "member 2 is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 235 - enum.json: "enum with escaped characters" - "another string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 236 - enum.json: "enum with false does not match 0" - "false is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 237 - enum.json: "enum with false does not match 0" - "integer zero is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 238 - enum.json: "enum with false does not match 0" - "float zero is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 239 - enum.json: "enum with true does not match 1" - "true is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 240 - enum.json: "enum with true does not match 1" - "integer one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 241 - enum.json: "enum with true does not match 1" - "float one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 242 - enum.json: "enum with 0 does not match false" - "false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 243 - enum.json: "enum with 0 does not match false" - "integer zero is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 244 - enum.json: "enum with 0 does not match false" - "float zero is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 245 - enum.json: "enum with 1 does not match true" - "true is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 246 - enum.json: "enum with 1 does not match true" - "integer one is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 247 - enum.json: "enum with 1 does not match true" - "float one is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 248 - enum.json: "nul characters in strings" - "match string with nul" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 249 - enum.json: "nul characters in strings" - "do not match string lacking nul" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 250 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 251 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 252 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 253 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 254 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 255 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 256 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 257 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 258 - format.json: "email format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 259 - format.json: "email format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 260 - format.json: "email format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 261 - format.json: "email format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 262 - format.json: "email format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 263 - format.json: "email format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 264 - format.json: "idn-email format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 265 - format.json: "idn-email format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 266 - format.json: "idn-email format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 267 - format.json: "idn-email format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 268 - format.json: "idn-email format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 269 - format.json: "idn-email format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 270 - format.json: "regex format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 271 - format.json: "regex format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 272 - format.json: "regex format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 273 - format.json: "regex format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 274 - format.json: "regex format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 275 - format.json: "regex format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 276 - format.json: "ipv4 format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 277 - format.json: "ipv4 format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 278 - format.json: "ipv4 format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 279 - format.json: "ipv4 format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 280 - format.json: "ipv4 format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 281 - format.json: "ipv4 format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 282 - format.json: "ipv6 format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 283 - format.json: "ipv6 format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 284 - format.json: "ipv6 format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 285 - format.json: "ipv6 format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 286 - format.json: "ipv6 format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 287 - format.json: "ipv6 format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 288 - format.json: "idn-hostname format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 289 - format.json: "idn-hostname format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 290 - format.json: "idn-hostname format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 291 - format.json: "idn-hostname format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 292 - format.json: "idn-hostname format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 293 - format.json: "idn-hostname format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 294 - format.json: "hostname format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 295 - format.json: "hostname format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 296 - format.json: "hostname format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 297 - format.json: "hostname format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 298 - format.json: "hostname format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 299 - format.json: "hostname format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 300 - format.json: "date format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 301 - format.json: "date format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 302 - format.json: "date format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 303 - format.json: "date format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 304 - format.json: "date format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 305 - format.json: "date format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 306 - format.json: "date-time format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 307 - format.json: "date-time format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 308 - format.json: "date-time format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 309 - format.json: "date-time format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 310 - format.json: "date-time format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 311 - format.json: "date-time format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 312 - format.json: "time format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 313 - format.json: "time format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 314 - format.json: "time format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 315 - format.json: "time format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 316 - format.json: "time format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 317 - format.json: "time format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 318 - format.json: "json-pointer format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 319 - format.json: "json-pointer format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 320 - format.json: "json-pointer format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 321 - format.json: "json-pointer format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 322 - format.json: "json-pointer format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 323 - format.json: "json-pointer format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 324 - format.json: "relative-json-pointer format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 325 - format.json: "relative-json-pointer format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 326 - format.json: "relative-json-pointer format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 327 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 328 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 329 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 330 - format.json: "iri format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 331 - format.json: "iri format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 332 - format.json: "iri format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 333 - format.json: "iri format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 334 - format.json: "iri format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 335 - format.json: "iri format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 336 - format.json: "iri-reference format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 337 - format.json: "iri-reference format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 338 - format.json: "iri-reference format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 339 - format.json: "iri-reference format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 340 - format.json: "iri-reference format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 341 - format.json: "iri-reference format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 342 - format.json: "uri format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 343 - format.json: "uri format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 344 - format.json: "uri format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 345 - format.json: "uri format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 346 - format.json: "uri format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 347 - format.json: "uri format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 348 - format.json: "uri-reference format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 349 - format.json: "uri-reference format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 350 - format.json: "uri-reference format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 351 - format.json: "uri-reference format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 352 - format.json: "uri-reference format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 353 - format.json: "uri-reference format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 354 - format.json: "uri-template format" - "all string formats ignore integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 355 - format.json: "uri-template format" - "all string formats ignore floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 356 - format.json: "uri-template format" - "all string formats ignore objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 357 - format.json: "uri-template format" - "all string formats ignore arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 358 - format.json: "uri-template format" - "all string formats ignore booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 359 - format.json: "uri-template format" - "all string formats ignore nulls" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 360 - id.json: "id inside an enum is not a real identifier" - "exact match to enum, and type matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 361 - id.json: "id inside an enum is not a real identifier" - "match $ref to id" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 362 - id.json: "id inside an enum is not a real identifier" - "no match on enum or $ref to id" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_enum/enum", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/enum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_enum/enum", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/enum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 363 - id.json: "non-schema object containing a plain-name $id property" - "skip traversing definition for a valid result" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 364 - id.json: "non-schema object containing a plain-name $id property" - "const at const_not_anchor does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/$ref/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/const_not_anchor/const", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/$ref/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 365 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 366 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/$ref/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/const_not_id/const", 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/$ref/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 367 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 368 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 369 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 370 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 371 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 372 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 373 - if-then-else.json: "if and then without else" - "valid through then" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 374 - if-then-else.json: "if and then without else" - "invalid through then" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -10", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -10", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 375 - if-then-else.json: "if and then without else" - "valid when if test fails" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 376 - if-then-else.json: "if and else without then" - "valid when if test passes" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 377 - if-then-else.json: "if and else without then" - "valid through else" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 378 - if-then-else.json: "if and else without then" - "invalid through else" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 379 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 380 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -10", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -10", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/minimum" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 381 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 382 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/multipleOf" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 383 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 384 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 385 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 386 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 387 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 388 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 389 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 390 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 391 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/then" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 392 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else/const" 309s # }, 309s # { 309s # "error": "subschema is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/else" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 393 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 394 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/int/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/int/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/allOf/1/additionalProperties/$ref/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/additionalProperties" 309s # }, 309s # { 309s # "error": "subschemas 0, 1 are not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/int/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/allOf/0/properties/foo/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/properties" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 395 - items.json: "a schema given for items" - "valid items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 396 - items.json: "a schema given for items" - "wrong type of items" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 397 - items.json: "a schema given for items" - "ignores non-arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 398 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 399 - items.json: "an array of schemas for items" - "correct types" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 400 - items.json: "an array of schemas for items" - "wrong types" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/type" 309s # }, 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/1/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 401 - items.json: "an array of schemas for items" - "incomplete array of items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 402 - items.json: "an array of schemas for items" - "array with additional items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 403 - items.json: "an array of schemas for items" - "empty array" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 404 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 405 - items.json: "items with boolean schema (true)" - "any array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 406 - items.json: "items with boolean schema (true)" - "empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 407 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items" 309s # }, 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items" 309s # }, 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 408 - items.json: "items with boolean schema (false)" - "empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 409 - items.json: "items with boolean schemas" - "array with one item is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 410 - items.json: "items with boolean schemas" - "array with two items is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/1" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "item not permitted", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/1" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 411 - items.json: "items with boolean schemas" - "empty array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 412 - items.json: "items and subitems" - "valid items" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 413 - items.json: "items and subitems" - "too many items" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/3", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 414 - items.json: "items and subitems" - "too many sub-items" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/0/2", 309s # "keywordLocation": "/items/0/$ref/additionalItems" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/additionalItems" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/0/2", 309s # "keywordLocation": "/items/0/$ref/additionalItems" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/additionalItems", 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/additionalItems" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 415 - items.json: "items and subitems" - "wrong item" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/type", 309s # "error": "got object, not array", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/type", 309s # "error": "got object, not array", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 416 - items.json: "items and subitems" - "wrong sub-item" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/sub-item/required", 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/items", 309s # "error": "not all items are valid", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/items" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/sub-item/required", 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/0/$ref/items/0/$ref/required" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/item/items", 309s # "error": "not all items are valid", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/0/$ref/items" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 417 - items.json: "items and subitems" - "fewer items is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 418 - items.json: "nested items" - "valid nested array" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 419 - items.json: "nested items" - "nested array with invalid type" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/0/0/0/0", 309s # "keywordLocation": "/items/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0/0", 309s # "keywordLocation": "/items/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/0/0/0/0", 309s # "keywordLocation": "/items/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0/0", 309s # "keywordLocation": "/items/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 420 - items.json: "nested items" - "not deep enough" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/0/0/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/0/1/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/1", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/0/2/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/2", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/1/0/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/1/0", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/1/1/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/1/1", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/1/2/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/1/2", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "/0/0/0", 309s # "keywordLocation": "/items/items/items/type" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 421 - items.json: "single-form items with null instance elements" - "allows null elements" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 422 - items.json: "array-form items with null instance elements" - "allows null elements" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 423 - maxItems.json: "maxItems validation" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 424 - maxItems.json: "maxItems validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 425 - maxItems.json: "maxItems validation" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 2 items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 2 items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 426 - maxItems.json: "maxItems validation" - "ignores non-arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 427 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 428 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 2 items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 2 items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 429 - maxLength.json: "maxLength validation" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 430 - maxLength.json: "maxLength validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 431 - maxLength.json: "maxLength validation" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 432 - maxLength.json: "maxLength validation" - "ignores non-strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 433 - maxLength.json: "maxLength validation" - "two supplementary Unicode code points is long enough" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 434 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 435 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 436 - maxProperties.json: "maxProperties validation" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 437 - maxProperties.json: "maxProperties validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 438 - maxProperties.json: "maxProperties validation" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 2 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 2 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 439 - maxProperties.json: "maxProperties validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 440 - maxProperties.json: "maxProperties validation" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 441 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 442 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 443 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 2 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 2 properties", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 444 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 445 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 0 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has more than 0 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maxProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 446 - maximum.json: "maximum validation" - "below the maximum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 447 - maximum.json: "maximum validation" - "boundary point is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 448 - maximum.json: "maximum validation" - "above the maximum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 3", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 449 - maximum.json: "maximum validation" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 450 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 451 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 452 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 453 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 300", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 300", 309s # "instanceLocation": "", 309s # "keywordLocation": "/maximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 454 - minItems.json: "minItems validation" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 455 - minItems.json: "minItems validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 456 - minItems.json: "minItems validation" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 1 item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 1 item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 457 - minItems.json: "minItems validation" - "ignores non-arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 458 - minItems.json: "minItems validation with a decimal" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 459 - minItems.json: "minItems validation with a decimal" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 1 item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 1 item", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 460 - minLength.json: "minLength validation" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 461 - minLength.json: "minLength validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 462 - minLength.json: "minLength validation" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 463 - minLength.json: "minLength validation" - "ignores non-strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 464 - minLength.json: "minLength validation" - "one supplementary Unicode code point is not long enough" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 465 - minLength.json: "minLength validation with a decimal" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 466 - minLength.json: "minLength validation with a decimal" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is less than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minLength" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 467 - minProperties.json: "minProperties validation" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 468 - minProperties.json: "minProperties validation" - "exact length is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 469 - minProperties.json: "minProperties validation" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 1 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 1 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 470 - minProperties.json: "minProperties validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 471 - minProperties.json: "minProperties validation" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 472 - minProperties.json: "minProperties validation" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 473 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 474 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 1 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object has fewer than 1 property", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 475 - minimum.json: "minimum validation" - "above the minimum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 476 - minimum.json: "minimum validation" - "boundary point is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 477 - minimum.json: "minimum validation" - "below the minimum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than 1.1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 478 - minimum.json: "minimum validation" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 479 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 480 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 481 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 482 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 483 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 484 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is smaller than -2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/minimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 485 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 486 - multipleOf.json: "by int" - "int by int" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 487 - multipleOf.json: "by int" - "int by int fail" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 488 - multipleOf.json: "by int" - "ignores non-numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 489 - multipleOf.json: "by number" - "zero is multiple of anything" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 490 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 491 - multipleOf.json: "by number" - "35 is not multiple of 1.5" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 1.5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 1.5", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 492 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 493 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 0.0001", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 0.0001", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 494 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 0.123456789", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is not a multiple of 0.123456789", 309s # "instanceLocation": "", 309s # "keywordLocation": "/multipleOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 495 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 496 - not.json: "not" - "allowed" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 497 - not.json: "not" - "disallowed" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 498 - not.json: "not multiple types" - "valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 499 - not.json: "not multiple types" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 500 - not.json: "not multiple types" - "other mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 501 - not.json: "not more complex schema" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 502 - not.json: "not more complex schema" - "other match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 503 - not.json: "not more complex schema" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 504 - not.json: "forbidden property" - "property present" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/not" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/not" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 505 - not.json: "forbidden property" - "property absent" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 506 - not.json: "not with boolean schema true" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/not" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 507 - not.json: "not with boolean schema false" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 508 - oneOf.json: "oneOf" - "first oneOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 509 - oneOf.json: "oneOf" - "second oneOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 510 - oneOf.json: "oneOf" - "both oneOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 511 - oneOf.json: "oneOf" - "neither oneOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/type" 309s # }, 309s # { 309s # "error": "value is smaller than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/minimum" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/type" 309s # }, 309s # { 309s # "error": "value is smaller than 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/minimum" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 512 - oneOf.json: "oneOf with base schema" - "mismatch base schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # }, 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 513 - oneOf.json: "oneOf with base schema" - "one oneOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 514 - oneOf.json: "oneOf with base schema" - "both oneOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 515 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1, 2", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 516 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 517 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 518 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/2" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1" 309s # }, 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/2" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 519 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 520 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 521 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 522 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/oneOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/properties" 309s # }, 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/oneOf/1/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/properties" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/oneOf/0/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/properties" 309s # }, 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/oneOf/1/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/properties" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 523 - oneOf.json: "oneOf with empty schema" - "one valid - valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 524 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 525 - oneOf.json: "oneOf with required" - "both invalid - invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/required" 309s # }, 309s # { 309s # "error": "object is missing properties: foo, baz", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/required" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/required" 309s # }, 309s # { 309s # "error": "object is missing properties: foo, baz", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/required" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 526 - oneOf.json: "oneOf with required" - "first valid - valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 527 - oneOf.json: "oneOf with required" - "second valid - valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 528 - oneOf.json: "oneOf with required" - "both valid - invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 529 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 530 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 531 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "multiple subschemas are valid: 0, 1", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 532 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/required" 309s # }, 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/required" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/required" 309s # }, 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/1/required" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 533 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 534 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/oneOf/0/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/oneOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/oneOf/0/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf/0/oneOf" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/oneOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 535 - pattern.json: "pattern validation" - "a matching pattern is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 536 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 537 - pattern.json: "pattern validation" - "ignores booleans" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 538 - pattern.json: "pattern validation" - "ignores integers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 539 - pattern.json: "pattern validation" - "ignores floats" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 540 - pattern.json: "pattern validation" - "ignores objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 541 - pattern.json: "pattern validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 542 - pattern.json: "pattern validation" - "ignores null" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 543 - pattern.json: "pattern is not anchored" - "matches a substring" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 544 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 545 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 546 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.*o/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.*o/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 547 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.*o/type" 309s # }, 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foooooo", 309s # "keywordLocation": "/patternProperties/f.*o/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.*o/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 548 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 549 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 550 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 551 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 552 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 553 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 554 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/a", 309s # "keywordLocation": "/patternProperties/a*/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/a", 309s # "keywordLocation": "/patternProperties/a*/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 555 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 20", 309s # "instanceLocation": "/aaaa", 309s # "keywordLocation": "/patternProperties/aaa*/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is larger than 20", 309s # "instanceLocation": "/aaaa", 309s # "keywordLocation": "/patternProperties/aaa*/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 556 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/aaa", 309s # "keywordLocation": "/patternProperties/a*/type" 309s # }, 309s # { 309s # "error": "value is larger than 20", 309s # "instanceLocation": "/aaaa", 309s # "keywordLocation": "/patternProperties/aaa*/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/aaa", 309s # "keywordLocation": "/patternProperties/a*/type" 309s # }, 309s # { 309s # "error": "value is larger than 20", 309s # "instanceLocation": "/aaaa", 309s # "keywordLocation": "/patternProperties/aaa*/maximum" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 557 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 558 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not boolean", 309s # "instanceLocation": "/a31b", 309s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not boolean", 309s # "instanceLocation": "/a31b", 309s # "keywordLocation": "/patternProperties/[0-9]{2,}/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 559 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 560 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/a_X_3", 309s # "keywordLocation": "/patternProperties/X_/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/a_X_3", 309s # "keywordLocation": "/patternProperties/X_/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 561 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 562 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 563 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 564 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/foobar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/foobar", 309s # "keywordLocation": "/patternProperties/b.*" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 565 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 566 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 567 - properties.json: "object properties validation" - "both properties present and valid is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 568 - properties.json: "object properties validation" - "one property invalid is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 569 - properties.json: "object properties validation" - "both properties invalid is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/type" 309s # }, 309s # { 309s # "error": "got array, not integer", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 570 - properties.json: "object properties validation" - "doesn't invalidate other properties" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 571 - properties.json: "object properties validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 572 - properties.json: "object properties validation" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 573 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 574 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 3 items", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/maxItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has more than 3 items", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/maxItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 575 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 2 items", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.o/minItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 2 items", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/patternProperties/f.o/minItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 576 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 577 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 2 items", 309s # "instanceLocation": "/fxo", 309s # "keywordLocation": "/patternProperties/f.o/minItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "array has fewer than 2 items", 309s # "instanceLocation": "/fxo", 309s # "keywordLocation": "/patternProperties/f.o/minItems" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 578 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 579 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 580 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/quux", 309s # "keywordLocation": "/additionalProperties/type" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 581 - properties.json: "properties with boolean schema" - "no property present is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 582 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 583 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 584 - properties.json: "properties with boolean schema" - "both properties present is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 585 - properties.json: "properties with escaped characters" - "object with all numbers is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 586 - properties.json: "properties with escaped characters" - "object with strings is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\tbar", 309s # "keywordLocation": "/properties/foo\tbar/type" 309s # }, 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\nbar", 309s # "keywordLocation": "/properties/foo\nbar/type" 309s # }, 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\fbar", 309s # "keywordLocation": "/properties/foo\fbar/type" 309s # }, 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\rbar", 309s # "keywordLocation": "/properties/foo\rbar/type" 309s # }, 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\"bar", 309s # "keywordLocation": "/properties/foo\"bar/type" 309s # }, 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\\bar", 309s # "keywordLocation": "/properties/foo\\bar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\tbar", 309s # "keywordLocation": "/properties/foo\tbar/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 587 - properties.json: "properties with null valued instance properties" - "allows null values" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 588 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 589 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 590 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 591 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/__proto__", 309s # "keywordLocation": "/properties/__proto__/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "/__proto__", 309s # "keywordLocation": "/properties/__proto__/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 592 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/toString/length", 309s # "keywordLocation": "/properties/toString/properties/length/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/toString", 309s # "keywordLocation": "/properties/toString/properties" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/toString/length", 309s # "keywordLocation": "/properties/toString/properties/length/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/toString", 309s # "keywordLocation": "/properties/toString/properties" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 593 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not number", 309s # "instanceLocation": "/constructor", 309s # "keywordLocation": "/properties/constructor/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not number", 309s # "instanceLocation": "/constructor", 309s # "keywordLocation": "/properties/constructor/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 594 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 595 - propertyNames.json: "propertyNames validation" - "all property names valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 596 - propertyNames.json: "propertyNames validation" - "some property names invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 3", 309s # "instanceLocation": "/foobar", 309s # "keywordLocation": "/propertyNames/maxLength" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "length is greater than 3", 309s # "instanceLocation": "/foobar", 309s # "keywordLocation": "/propertyNames/maxLength" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 597 - propertyNames.json: "propertyNames validation" - "object without properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 598 - propertyNames.json: "propertyNames validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 599 - propertyNames.json: "propertyNames validation" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 600 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 601 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 602 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "/aaA", 309s # "keywordLocation": "/propertyNames/pattern" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "/aaA", 309s # "keywordLocation": "/propertyNames/pattern" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 603 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 604 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 605 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 606 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/propertyNames" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "subschema is false", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/propertyNames" 309s # }, 309s # { 309s # "error": "not all property names are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/propertyNames" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 607 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 608 - ref.json: "root pointer ref" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 609 - ref.json: "root pointer ref" - "recursive match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 610 - ref.json: "root pointer ref" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 611 - ref.json: "root pointer ref" - "recursive mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/additionalProperties", 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/additionalProperties", 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/additionalProperties", 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/additionalProperties", 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/additionalProperties" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 612 - ref.json: "relative pointer ref to object" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 613 - ref.json: "relative pointer ref to object" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/properties/foo/type", 309s # "error": "got boolean, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/properties/foo/type", 309s # "error": "got boolean, not integer", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/properties/bar/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 614 - ref.json: "relative pointer ref to array" - "match array" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 615 - ref.json: "relative pointer ref to array" - "mismatch array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/items/0/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/1/$ref/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/items/0/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/1", 309s # "keywordLocation": "/items/1/$ref/type" 309s # }, 309s # { 309s # "error": "not all items are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 616 - ref.json: "escaped pointer ref" - "slash invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/slash~1field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/slash", 309s # "keywordLocation": "/properties/slash/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/slash~1field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/slash", 309s # "keywordLocation": "/properties/slash/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 617 - ref.json: "escaped pointer ref" - "tilde invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/tilde~0field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/tilde", 309s # "keywordLocation": "/properties/tilde/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/tilde~0field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/tilde", 309s # "keywordLocation": "/properties/tilde/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 618 - ref.json: "escaped pointer ref" - "percent invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/percent%25field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/percent", 309s # "keywordLocation": "/properties/percent/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/percent%25field/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/percent", 309s # "keywordLocation": "/properties/percent/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 619 - ref.json: "escaped pointer ref" - "slash valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 620 - ref.json: "escaped pointer ref" - "tilde valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 621 - ref.json: "escaped pointer ref" - "percent valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 622 - ref.json: "nested refs" - "nested ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 623 - ref.json: "nested refs" - "nested ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/a/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/$ref/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/a/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/$ref/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 624 - ref.json: "ref overrides any sibling keywords" - "ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 625 - ref.json: "ref overrides any sibling keywords" - "ref valid, maxItems ignored" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 626 - ref.json: "ref overrides any sibling keywords" - "ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/reffed/type", 309s # "error": "got string, not array", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/reffed/type", 309s # "error": "got string, not array", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 627 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data does not validate" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 628 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data validates" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 629 - ref.json: "remote ref, containing refs itself" - "remote ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 630 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum", 309s # "error": "value is smaller than 0", 309s # "instanceLocation": "/minLength", 309s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/minLength", 309s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum", 309s # "error": "value is smaller than 0", 309s # "instanceLocation": "/minLength", 309s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/minLength", 309s # "keywordLocation": "/$ref/properties/minLength/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 631 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 632 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/$ref", 309s # "keywordLocation": "/properties/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not string", 309s # "instanceLocation": "/$ref", 309s # "keywordLocation": "/properties/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 633 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 634 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/is-string/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/$ref", 309s # "keywordLocation": "/properties/$ref/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/is-string/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/$ref", 309s # "keywordLocation": "/properties/$ref/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 635 - ref.json: "$ref to boolean schema true" - "any value is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 636 - ref.json: "$ref to boolean schema false" - "any value is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/bool", 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/bool", 309s # "error": "subschema is false", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 637 - ref.json: "Recursive references between schemas" - "valid tree" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 638 - ref.json: "Recursive references between schemas" - "invalid tree" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0/subtree/nodes/0", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/nodes/0/subtree/nodes", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0/subtree", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/nodes", 309s # "keywordLocation": "/properties/nodes/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "/nodes/0/subtree/nodes/0/value", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0/subtree/nodes/0", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/nodes/0/subtree/nodes", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0/subtree", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/node#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/nodes/0", 309s # "keywordLocation": "/properties/nodes/items/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/nodes", 309s # "keywordLocation": "/properties/nodes/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/tree#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 639 - ref.json: "refs with quote" - "object with numbers is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 640 - ref.json: "refs with quote" - "object with strings is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/foo%22bar/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\"bar", 309s # "keywordLocation": "/properties/foo\"bar/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/foo%22bar/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "/foo\"bar", 309s # "keywordLocation": "/properties/foo\"bar/$ref/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 641 - ref.json: "Location-independent identifier" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 642 - ref.json: "Location-independent identifier" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 643 - ref.json: "Reference an anchor with a non-relative URI" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 644 - ref.json: "Reference an anchor with a non-relative URI" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 645 - ref.json: "Location-independent identifier with base URI change in subschema" - "match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 646 - ref.json: "Location-independent identifier with base URI change in subschema" - "mismatch" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/root#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/root#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 647 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 648 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/enum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 649 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 650 - ref.json: "refs with relative uris and defs" - "invalid on inner field" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 651 - ref.json: "refs with relative uris and defs" - "invalid on outer field" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 652 - ref.json: "refs with relative uris and defs" - "valid on both fields" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 653 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo/bar", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 654 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 655 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 656 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 657 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/b/d.json#/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/a.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 658 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 659 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 309s # "error": "value is smaller than 30", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/minimum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum", 309s # "error": "value is smaller than 30", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/minimum" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 660 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 661 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 662 - ref.json: "URN base URI with NSS" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 663 - ref.json: "URN base URI with NSS" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 664 - ref.json: "URN base URI with r-component" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 665 - ref.json: "URN base URI with r-component" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 666 - ref.json: "URN base URI with q-component" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 667 - ref.json: "URN base URI with q-component" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 668 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 669 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 670 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 671 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/foo", 309s # "keywordLocation": "/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 672 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/if#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 673 - ref.json: "ref to if" - "an integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 674 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/then#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 675 - ref.json: "ref to then" - "an integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 676 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/else#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 677 - ref.json: "ref to else" - "an integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 678 - ref.json: "ref with absolute-path-reference" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 679 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 680 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 681 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "file:///folder/file.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "file:///folder/file.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 682 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 683 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 684 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 685 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions//definitions//type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions//definitions//type", 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/type" 309s # }, 309s # { 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 686 - refRemote.json: "remote ref" - "remote ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 687 - refRemote.json: "remote ref" - "remote ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 688 - refRemote.json: "fragment within remote ref" - "remote fragment valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 689 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 690 - refRemote.json: "ref within remote ref" - "ref within ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 691 - refRemote.json: "ref within remote ref" - "ref within ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/subSchemas.json#/definitions/integer/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 692 - refRemote.json: "base URI change" - "base URI change ref valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 693 - refRemote.json: "base URI change" - "base URI change ref invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/0/0", 309s # "keywordLocation": "/items/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/0", 309s # "keywordLocation": "/items/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/items" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 694 - refRemote.json: "base URI change - change folder" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 695 - refRemote.json: "base URI change - change folder" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/list/0", 309s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/list", 309s # "keywordLocation": "/properties/list/$ref/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/list/0", 309s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/list", 309s # "keywordLocation": "/properties/list/$ref/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 696 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 697 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/list/0", 309s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/list", 309s # "keywordLocation": "/properties/list/$ref/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "/list/0", 309s # "keywordLocation": "/properties/list/$ref/items/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items", 309s # "error": "subschema is not valid against all items", 309s # "instanceLocation": "/list", 309s # "keywordLocation": "/properties/list/$ref/items" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 698 - refRemote.json: "root ref in remote ref" - "string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 699 - refRemote.json: "root ref in remote ref" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 700 - refRemote.json: "root ref in remote ref" - "object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf/0/type", 309s # "error": "got object, not null", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/type", 309s # "error": "got object, not string", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf", 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/object#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf/0/type", 309s # "error": "got object, not null", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf/0/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/type", 309s # "error": "got object, not string", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/name.json#/definitions/orNull/anyOf", 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/anyOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/object#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 701 - refRemote.json: "remote ref with ref to definitions" - "invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties/bar/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/bar", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/definitions/inner/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/ref-and-definitions.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/0/$ref/allOf" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf", 309s # "error": "subschema 0 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 702 - refRemote.json: "remote ref with ref to definitions" - "valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 703 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 704 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/locationIndependentIdentifierPre2019.json#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/locationIndependentIdentifierPre2019.json#/definitions/A/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 705 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/name/foo", 309s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "/name/foo", 309s # "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "/name", 309s # "keywordLocation": "/properties/name/$ref/properties" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties", 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/properties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 706 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 707 - refRemote.json: "$ref to $ref finds location-independent $id" - "number is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 708 - refRemote.json: "$ref to $ref finds location-independent $id" - "non-number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/$ref/$ref/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 709 - required.json: "required validation" - "present required property is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 710 - required.json: "required validation" - "non-present required property is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing property: foo", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 711 - required.json: "required validation" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 712 - required.json: "required validation" - "ignores strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 713 - required.json: "required validation" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 714 - required.json: "required default validation" - "not required by default" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 715 - required.json: "required with empty array" - "property not required" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 716 - required.json: "required with escaped characters" - "object with all properties present is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 717 - required.json: "required with escaped characters" - "object with some properties missing is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 718 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 719 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 720 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, toString, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, toString, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 721 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: toString, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: toString, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 722 - required.json: "required properties whose names are Javascript object property names" - "toString present" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, constructor", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 723 - required.json: "required properties whose names are Javascript object property names" - "constructor present" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, toString", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "object is missing properties: __proto__, toString", 309s # "instanceLocation": "", 309s # "keywordLocation": "/required" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 724 - required.json: "required properties whose names are Javascript object property names" - "all present" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 725 - type.json: "integer type matches integers" - "an integer is an integer" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 726 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 727 - type.json: "integer type matches integers" - "a float is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got number, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 728 - type.json: "integer type matches integers" - "a string is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 729 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got string, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 730 - type.json: "integer type matches integers" - "an object is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got object, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got object, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 731 - type.json: "integer type matches integers" - "an array is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got array, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got array, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 732 - type.json: "integer type matches integers" - "a boolean is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got boolean, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got boolean, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 733 - type.json: "integer type matches integers" - "null is not an integer" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got null, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type", 309s # "error": "got null, not integer", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 734 - type.json: "number type matches numbers" - "an integer is a number" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 735 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 736 - type.json: "number type matches numbers" - "a float is a number" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 737 - type.json: "number type matches numbers" - "a string is not a number" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 738 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 739 - type.json: "number type matches numbers" - "an object is not a number" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 740 - type.json: "number type matches numbers" - "an array is not a number" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 741 - type.json: "number type matches numbers" - "a boolean is not a number" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 742 - type.json: "number type matches numbers" - "null is not a number" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not number", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 743 - type.json: "string type matches strings" - "1 is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 744 - type.json: "string type matches strings" - "a float is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got number, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got number, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 745 - type.json: "string type matches strings" - "a string is a string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 746 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 747 - type.json: "string type matches strings" - "an empty string is still a string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 748 - type.json: "string type matches strings" - "an object is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got object, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got object, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 749 - type.json: "string type matches strings" - "an array is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got array, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got array, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 750 - type.json: "string type matches strings" - "a boolean is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got boolean, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got boolean, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 751 - type.json: "string type matches strings" - "null is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got null, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got null, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 752 - type.json: "object type matches objects" - "an integer is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 753 - type.json: "object type matches objects" - "a float is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 754 - type.json: "object type matches objects" - "a string is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 755 - type.json: "object type matches objects" - "an object is an object" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 756 - type.json: "object type matches objects" - "an array is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 757 - type.json: "object type matches objects" - "a boolean is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 758 - type.json: "object type matches objects" - "null is not an object" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 759 - type.json: "array type matches arrays" - "an integer is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 760 - type.json: "array type matches arrays" - "a float is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 761 - type.json: "array type matches arrays" - "a string is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 762 - type.json: "array type matches arrays" - "an object is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 763 - type.json: "array type matches arrays" - "an array is an array" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 764 - type.json: "array type matches arrays" - "a boolean is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 765 - type.json: "array type matches arrays" - "null is not an array" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not array", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 766 - type.json: "boolean type matches booleans" - "an integer is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 767 - type.json: "boolean type matches booleans" - "zero is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 768 - type.json: "boolean type matches booleans" - "a float is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 769 - type.json: "boolean type matches booleans" - "a string is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 770 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 771 - type.json: "boolean type matches booleans" - "an object is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 772 - type.json: "boolean type matches booleans" - "an array is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 773 - type.json: "boolean type matches booleans" - "true is a boolean" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 774 - type.json: "boolean type matches booleans" - "false is a boolean" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 775 - type.json: "boolean type matches booleans" - "null is not a boolean" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not boolean", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 776 - type.json: "null type matches only the null object" - "an integer is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 777 - type.json: "null type matches only the null object" - "a float is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 778 - type.json: "null type matches only the null object" - "zero is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 779 - type.json: "null type matches only the null object" - "a string is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 780 - type.json: "null type matches only the null object" - "an empty string is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 781 - type.json: "null type matches only the null object" - "an object is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 782 - type.json: "null type matches only the null object" - "an array is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 783 - type.json: "null type matches only the null object" - "true is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 784 - type.json: "null type matches only the null object" - "false is not null" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 785 - type.json: "null type matches only the null object" - "null is null" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 786 - type.json: "multiple types can be specified in an array" - "an integer is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 787 - type.json: "multiple types can be specified in an array" - "a string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 788 - type.json: "multiple types can be specified in an array" - "a float is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got number, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 789 - type.json: "multiple types can be specified in an array" - "an object is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got object, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 790 - type.json: "multiple types can be specified in an array" - "an array is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got array, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 791 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got boolean, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 792 - type.json: "multiple types can be specified in an array" - "null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not one of integer, string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 793 - type.json: "type as array with one item" - "string is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 794 - type.json: "type as array with one item" - "number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 795 - type.json: "type: array or object" - "array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 796 - type.json: "type: array or object" - "object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 797 - type.json: "type: array or object" - "number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 798 - type.json: "type: array or object" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 799 - type.json: "type: array or object" - "null is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got null, not one of array, object", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 800 - type.json: "type: array, object or null" - "array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 801 - type.json: "type: array, object or null" - "object is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 802 - type.json: "type: array, object or null" - "null is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 803 - type.json: "type: array, object or null" - "number is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of array, object, null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got integer, not one of array, object, null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 804 - type.json: "type: array, object or null" - "string is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not one of array, object, null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not one of array, object, null", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 805 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 806 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 807 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 808 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 809 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 810 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 811 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 812 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 813 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 814 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 815 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 816 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 817 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 818 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 819 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 820 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 2 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 821 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 822 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 823 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 824 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 825 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 826 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 827 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 828 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 4 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 4 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 829 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 830 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 831 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 832 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 833 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 834 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 835 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 836 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 837 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 838 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 839 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 2 and 3 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 2 and 3 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 840 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 2 and 3 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 2 and 3 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 841 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 842 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 843 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 844 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "items at indices 0 and 1 are not unique", 309s # "instanceLocation": "", 309s # "keywordLocation": "/uniqueItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 845 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 846 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 847 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 848 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 849 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 850 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 851 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 852 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 853 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 854 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 855 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 856 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 857 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 858 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 859 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 860 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 861 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 862 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 863 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 864 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 865 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 866 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 867 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 868 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 869 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 870 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 871 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 872 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 873 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional item not permitted", 309s # "instanceLocation": "/2", 309s # "keywordLocation": "/additionalItems" 309s # }, 309s # { 309s # "error": "subschema is not valid against all additional items", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalItems" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 874 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 875 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 309s # "error": "got null, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/2/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 309s # "error": "got null, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/2/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 876 - unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/2/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/0/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not", 309s # "error": "subschema is valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/1/$ref/not" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf/2/$ref/type" 309s # }, 309s # { 309s # "error": "no subschemas are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/anyOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 877 - optional/bignum.json: "integer" - "a bignum is an integer" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 878 - optional/bignum.json: "integer" - "a negative bignum is an integer" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 879 - optional/bignum.json: "number" - "a bignum is a number" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 880 - optional/bignum.json: "number" - "a negative bignum is a number" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 881 - optional/bignum.json: "string" - "a bignum is not a string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type", 309s # "error": "got integer, not string", 309s # "instanceLocation": "", 309s # "keywordLocation": "/type" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 882 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 883 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or larger than 972783798187987123879878123.18878137", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMaximum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 884 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 885 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "value is equal to or smaller than -972783798187987123879878123.18878137", 309s # "instanceLocation": "", 309s # "keywordLocation": "/exclusiveMinimum" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s ok 886 - optional/content.json: "validation of string-encoded content based on media type" - "a valid JSON document" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 887 - optional/content.json: "validation of string-encoded content based on media type" - "an invalid JSON document" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentMediaType" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentMediaType" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 888 - optional/content.json: "validation of string-encoded content based on media type" - "ignores non-strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 889 - optional/content.json: "validation of binary string-encoding" - "a valid base64 string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 890 - optional/content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode base64 string: invalid characters", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentEncoding" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode base64 string: invalid characters", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentEncoding" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 891 - optional/content.json: "validation of binary string-encoding" - "ignores non-strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 892 - optional/content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 893 - optional/content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentMediaType" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /usr/share/perl5/JSON/Schema/Modern.pm line 1050.", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentMediaType" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 894 - optional/content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode base64 string: invalid characters", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentEncoding" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "could not decode base64 string: invalid characters", 309s # "instanceLocation": "", 309s # "keywordLocation": "/contentEncoding" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 895 - optional/content.json: "validation of binary-encoded media type documents" - "ignores non-strings" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 896 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "missing bar is invalid" { 309s # result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo", 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/$ref/dependentRequired/foo" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired", 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/$ref/dependentRequired" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo", 309s # "error": "object is missing property: bar", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/$ref/dependentRequired/foo" 309s # }, 309s # { 309s # "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired", 309s # "error": "not all dependencies are satisfied", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf/1/$ref/dependentRequired" 309s # }, 309s # { 309s # "error": "subschema 1 is not valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/allOf" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 897 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "present bar is valid" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 898 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 899 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 900 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 901 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 902 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 903 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 904 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 905 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 906 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true # 309s 1..1 309s } 309s ok 907 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 908 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 909 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false # 309s 1..1 309s } 309s ok 910 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected true; got false 309s # { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s 1..1 309s } 309s ok 911 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected true; got false 309s # { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s 1..1 309s } 309s ok 912 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true # 309s 1..1 309s } 309s ok 913 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 914 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false # 309s 1..1 309s } 309s ok 915 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected true; got false 309s # { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s 1..1 309s } 309s ok 916 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 917 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 918 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 919 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 920 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 921 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected true; got false 309s # { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s 1..1 309s } 309s ok 922 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 923 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 924 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 925 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 926 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 927 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 928 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 929 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 930 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 931 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 932 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 933 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 934 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 935 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 936 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 937 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 938 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 939 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 940 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 941 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 942 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 943 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 944 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 945 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 946 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 947 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 948 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 949 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 950 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 951 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 952 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 953 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 954 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 955 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 956 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 957 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 958 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/L'ÉCOLE", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/L'ÉCOLE", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 959 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 960 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 961 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 962 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/L'ÉCOLE", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/L'ÉCOLE", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 963 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/l'école", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/l'école", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 964 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/l'école", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/l'école", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 965 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 966 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 967 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/-%#", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/-%#", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 968 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests" 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s not ok 1 - evaluation result is incorrect # 309s # Failed test (with amnesty) 'evaluation result is incorrect' 309s # at t/zzz-acceptance-draft7.t line 45. 309s # expected false; got true 309s # { 309s # "valid": true 309s # } 309s 1..1 309s } 309s ok 969 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 970 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/-%#", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "additional property not permitted", 309s # "instanceLocation": "/-%#", 309s # "keywordLocation": "/additionalProperties" 309s # }, 309s # { 309s # "error": "not all additional properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/additionalProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 971 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 972 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s # 309s ok 973 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 974 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 975 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 976 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 977 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 978 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 979 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "pattern does not match", 309s # "instanceLocation": "", 309s # "keywordLocation": "/pattern" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 980 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 981 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 982 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" { 309s # result: { 309s # "valid": true 309s # } 309s # short-circuited result: { 309s # "valid": true 309s # } 309s ok 1 - test passes: data is valid: true 309s 1..1 309s } 309s ok 983 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/🐲", 309s # "keywordLocation": "/patternProperties/^🐲*$/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/🐲", 309s # "keywordLocation": "/patternProperties/^🐲*$/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s ok 984 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" { 309s # result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/🐲🐲", 309s # "keywordLocation": "/patternProperties/^🐲*$/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s # short-circuited result: { 309s # "errors": [ 309s # { 309s # "error": "got string, not integer", 309s # "instanceLocation": "/🐲🐲", 309s # "keywordLocation": "/patternProperties/^🐲*$/type" 309s # }, 309s # { 309s # "error": "not all properties are valid", 309s # "instanceLocation": "", 309s # "keywordLocation": "/patternProperties" 309s # } 309s # ], 309s # "valid": false 309s # } 309s ok 1 - test passes: data is valid: false 309s 1..1 309s } 309s # 309s # 309s # Results using Test::JSON::Schema::Acceptance 1.021 309s # with commit cda4281c46226b980cbf9db4610f03d9f718e533 (2.0.0-786-gcda4281) 309s # from git://github.com/json-schema-org/JSON-Schema-Test-Suite.git: 309s # specification version: draft7 309s # optional tests included: yes 309s # skipping directory: optional/format 309s # 309s # filename pass todo-fail fail 309s # --------------------------------------------------------------- 309s # additionalItems.json 18 0 0 309s # additionalProperties.json 16 0 0 309s # allOf.json 30 0 0 309s # anyOf.json 18 0 0 309s # boolean_schema.json 18 0 0 309s # const.json 50 0 0 309s # contains.json 21 0 0 309s # default.json 7 0 0 309s # definitions.json 2 0 0 309s # dependencies.json 36 0 0 309s # enum.json 33 0 0 309s # exclusiveMaximum.json 4 0 0 309s # exclusiveMinimum.json 4 0 0 309s # format.json 102 0 0 309s # id.json 7 0 0 309s # if-then-else.json 26 0 0 309s # infinite-loop-detection.json 2 0 0 309s # items.json 28 0 0 309s # maxItems.json 6 0 0 309s # maxLength.json 7 0 0 309s # maxProperties.json 10 0 0 309s # maximum.json 8 0 0 309s # minItems.json 6 0 0 309s # minLength.json 7 0 0 309s # minProperties.json 8 0 0 309s # minimum.json 11 0 0 309s # multipleOf.json 10 0 0 309s # not.json 12 0 0 309s # oneOf.json 27 0 0 309s # pattern.json 9 0 0 309s # patternProperties.json 23 0 0 309s # properties.json 28 0 0 309s # propertyNames.json 13 0 0 309s # ref.json 78 0 0 309s # refRemote.json 23 0 0 309s # required.json 16 0 0 309s # type.json 80 0 0 309s # uniqueItems.json 69 0 0 309s # unknownKeyword.json 3 0 0 309s # optional/bignum.json 9 0 0 309s # optional/content.json 10 0 0 309s # optional/cross-draft.json 2 0 0 309s # optional/ecmascript-regex.json 60 14 0 309s # optional/float-overflow.json 1 0 0 309s # optional/non-bmp-regex.json 12 0 0 309s # --------------------------------------------------------------- 309s # TOTAL 970 14 0 309s # 309s # Congratulations, all non-optional tests are passing! 309s # 309s ok 985 - no leaks in the main evaluator object 309s ok 986 - no leaks in the short-circuiting evaluator object 309s 1..986 309s ok 309s t/zzz-check-breaks.t .................... 309s 1..2 309s ok 1 # skip no conflicts module found to check against 309s ok 2 - checked x_breaks data 309s ok 309s All tests successful. 309s 309s Test Summary Report 309s ------------------- 309s t/zzz-acceptance-draft2019-09-format.t (Wstat: 0 Tests: 473 Failed: 0) 309s TODO passed: 131-135, 146-201, 258-270, 282, 415-424 309s 450 309s t/zzz-acceptance-draft2019-09.t (Wstat: 0 Tests: 1337 Failed: 0) 309s TODO passed: 1206-1241, 1250-1259, 1265, 1276, 1287-1288 309s 1295, 1304-1305, 1312, 1332-1335 309s t/zzz-acceptance-draft2020-12-format.t (Wstat: 0 Tests: 480 Failed: 0) 309s TODO passed: 118-119, 138-142, 153-208, 265-277, 289 309s 422-431, 457 309s t/zzz-acceptance-draft2020-12.t (Wstat: 0 Tests: 1363 Failed: 0) 309s TODO passed: 1227-1262, 1271-1280, 1286, 1297, 1308-1309 309s 1316-1317, 1326-1327, 1334, 1358-1361 309s t/zzz-acceptance-draft7-format.t (Wstat: 0 Tests: 425 Failed: 0) 309s TODO passed: 106-109, 120-174, 231-243, 255, 388-397 309s 423 309s t/zzz-acceptance-draft7.t (Wstat: 0 Tests: 986 Failed: 0) 309s TODO passed: 906-915, 921, 932, 943-944, 951, 960-961 309s 968 309s Files=38, Tests=8158, 54 wallclock secs ( 3.16 usr 0.21 sys + 51.40 cusr 2.88 csys = 57.65 CPU) 309s Result: PASS 310s autopkgtest [11:42:06]: test autodep8-perl-build-deps: -----------------------] 310s autopkgtest [11:42:06]: test autodep8-perl-build-deps: - - - - - - - - - - results - - - - - - - - - - 310s autodep8-perl-build-deps PASS 310s autopkgtest [11:42:06]: test autodep8-perl: preparing testbed 1205s autopkgtest [11:57:01]: testbed dpkg architecture: amd64 1205s autopkgtest [11:57:01]: testbed apt version: 2.7.12 1205s autopkgtest [11:57:01]: test architecture: i386 1205s autopkgtest [11:57:01]: @@@@@@@@@@@@@@@@@@@@ test bed setup 1206s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 1206s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3983 kB] 1206s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 1206s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [57.3 kB] 1206s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [536 kB] 1206s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main i386 Packages [501 kB] 1206s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 Packages [739 kB] 1206s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main amd64 c-n-f Metadata [3508 B] 1206s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 Packages [30.5 kB] 1206s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/restricted i386 Packages [6700 B] 1206s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/restricted amd64 c-n-f Metadata [116 B] 1206s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/universe i386 Packages [1299 kB] 1206s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 Packages [4418 kB] 1206s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/universe amd64 c-n-f Metadata [9396 B] 1206s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/multiverse i386 Packages [27.4 kB] 1206s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 Packages [96.4 kB] 1206s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/multiverse amd64 c-n-f Metadata [196 B] 1209s Fetched 11.8 MB in 1s (7952 kB/s) 1209s Reading package lists... 1211s Reading package lists... 1211s Building dependency tree... 1211s Reading state information... 1211s Calculating upgrade... 1211s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1211s Reading package lists... 1212s Building dependency tree... 1212s Reading state information... 1212s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1212s sh: Attempting to set up Debian/Ubuntu apt sources automatically 1212s sh: Distribution appears to be Ubuntu 1213s Reading package lists... 1213s Building dependency tree... 1213s Reading state information... 1214s eatmydata is already the newest version (131-1). 1214s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1214s Reading package lists... 1214s Building dependency tree... 1214s Reading state information... 1214s dbus is already the newest version (1.14.10-4ubuntu1). 1214s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1215s Reading package lists... 1215s Building dependency tree... 1215s Reading state information... 1215s rng-tools-debian is already the newest version (2.4). 1215s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1215s Reading package lists... 1215s Building dependency tree... 1215s Reading state information... 1216s The following packages will be REMOVED: 1216s cloud-init* python3-configobj* python3-debconf* 1216s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 1216s After this operation, 3256 kB disk space will be freed. 1216s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71864 files and directories currently installed.) 1216s Removing cloud-init (24.1.2-0ubuntu1) ... 1217s Removing python3-configobj (5.0.8-3) ... 1217s Removing python3-debconf (1.5.86) ... 1217s Processing triggers for man-db (2.12.0-3) ... 1217s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71475 files and directories currently installed.) 1217s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 1218s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 1218s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 1218s invoke-rc.d: policy-rc.d denied execution of try-restart. 1218s Reading package lists... 1218s Building dependency tree... 1218s Reading state information... 1218s linux-generic is already the newest version (6.8.0-11.11+1). 1218s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1219s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 1219s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 1219s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 1221s Reading package lists... 1221s Reading package lists... 1221s Building dependency tree... 1221s Reading state information... 1221s Calculating upgrade... 1221s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1221s Reading package lists... 1222s Building dependency tree... 1222s Reading state information... 1222s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1222s autopkgtest [11:57:18]: rebooting testbed after setup commands that affected boot 1395s Note, using file '/tmp/autopkgtest.YgRYGQ/3-autopkgtest-satdep.dsc' to get the build dependencies 1395s Reading package lists... 1395s Building dependency tree... 1395s Reading state information... 1395s Starting pkgProblemResolver with broken count: 0 1395s Starting 2 pkgProblemResolver with broken count: 0 1395s Done 1396s The following NEW packages will be installed: 1396s autodep8 build-essential cpp cpp-13 cpp-13-x86-64-linux-gnu 1396s cpp-x86-64-linux-gnu dctrl-tools g++ g++-13 g++-13-x86-64-linux-gnu 1396s g++-x86-64-linux-gnu gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu 1396s javascript-common libasan8 libatomic1 libb-hooks-endofscope-perl 1396s libb-hooks-op-check-perl libc-dev-bin libc6-dev libcc1-0 1396s libclass-inspector-perl libclass-method-modifiers-perl 1396s libclass-xsaccessor-perl libcrypt-dev libdata-optlist-perl 1396s libdevel-callchecker-perl libdynaloader-functions-perl libexporter-tiny-perl 1396s libfeature-compat-try-perl libfile-sharedir-perl libgcc-13-dev 1396s libgetopt-long-descriptive-perl libgomp1 libhwasan0 libimport-into-perl 1396s libio-stringy-perl libisl23 libitm1 libjs-bootstrap4 libjs-highlight.js 1396s libjs-jquery libjs-popper.js libjson-schema-modern-perl liblsan0 1396s libmodule-implementation-perl libmodule-runtime-perl libmojolicious-perl 1396s libmoo-perl libmoox-typetiny-perl libmpc3 libnamespace-clean-perl 1396s libpackage-stash-perl libparams-classify-perl libparams-util-perl 1396s libparams-validate-perl libpath-tiny-perl libquadmath0 libref-util-perl 1396s librole-tiny-perl libsafe-isa-perl libstdc++-13-dev libstrictures-perl 1396s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 1396s libsub-install-perl libsub-name-perl libsub-quote-perl 1396s libsyntax-keyword-try-perl libtry-tiny-perl libtsan2 libtype-tiny-perl 1396s libubsan1 libvariable-magic-perl libxs-parse-keyword-perl linux-libc-dev 1396s pkg-perl-autopkgtest rpcsvc-proto 1396s 0 upgraded, 81 newly installed, 0 to remove and 0 not upgraded. 1396s Need to get 69.6 MB of archives. 1396s After this operation, 258 MB of additional disk space will be used. 1396s Get:1 http://ftpmaster.internal/ubuntu noble/main amd64 dctrl-tools amd64 2.24-3build2 [66.9 kB] 1396s Get:2 http://ftpmaster.internal/ubuntu noble/main amd64 autodep8 all 0.28 [13.2 kB] 1396s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 libc-dev-bin amd64 2.39-0ubuntu6 [20.4 kB] 1396s Get:4 http://ftpmaster.internal/ubuntu noble/main amd64 linux-libc-dev amd64 6.8.0-11.11 [1595 kB] 1396s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 libcrypt-dev amd64 1:4.4.36-4 [128 kB] 1396s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 rpcsvc-proto amd64 1.4.2-0ubuntu6 [68.5 kB] 1396s Get:7 http://ftpmaster.internal/ubuntu noble/main amd64 libc6-dev amd64 2.39-0ubuntu6 [2126 kB] 1396s Get:8 http://ftpmaster.internal/ubuntu noble/main amd64 libisl23 amd64 0.26-3 [741 kB] 1396s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 libmpc3 amd64 1.3.1-1 [54.1 kB] 1396s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [11.2 MB] 1396s Get:11 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-13 amd64 13.2.0-17ubuntu2 [1030 B] 1396s Get:12 http://ftpmaster.internal/ubuntu noble/main amd64 cpp-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [5326 B] 1396s Get:13 http://ftpmaster.internal/ubuntu noble/main amd64 cpp amd64 4:13.2.0-7ubuntu1 [22.4 kB] 1396s Get:14 http://ftpmaster.internal/ubuntu noble/main amd64 libcc1-0 amd64 14-20240303-1ubuntu1 [47.7 kB] 1396s Get:15 http://ftpmaster.internal/ubuntu noble/main amd64 libgomp1 amd64 14-20240303-1ubuntu1 [147 kB] 1396s Get:16 http://ftpmaster.internal/ubuntu noble/main amd64 libitm1 amd64 14-20240303-1ubuntu1 [29.1 kB] 1396s Get:17 http://ftpmaster.internal/ubuntu noble/main amd64 libatomic1 amd64 14-20240303-1ubuntu1 [10.4 kB] 1396s Get:18 http://ftpmaster.internal/ubuntu noble/main amd64 libasan8 amd64 14-20240303-1ubuntu1 [3026 kB] 1396s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 liblsan0 amd64 14-20240303-1ubuntu1 [1310 kB] 1396s Get:20 http://ftpmaster.internal/ubuntu noble/main amd64 libtsan2 amd64 14-20240303-1ubuntu1 [2732 kB] 1396s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 libubsan1 amd64 14-20240303-1ubuntu1 [1172 kB] 1396s Get:22 http://ftpmaster.internal/ubuntu noble/main amd64 libhwasan0 amd64 14-20240303-1ubuntu1 [1629 kB] 1396s Get:23 http://ftpmaster.internal/ubuntu noble/main amd64 libquadmath0 amd64 14-20240303-1ubuntu1 [155 kB] 1396s Get:24 http://ftpmaster.internal/ubuntu noble/main amd64 libgcc-13-dev amd64 13.2.0-17ubuntu2 [2687 kB] 1396s Get:25 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [21.9 MB] 1396s Get:26 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-13 amd64 13.2.0-17ubuntu2 [477 kB] 1396s Get:27 http://ftpmaster.internal/ubuntu noble/main amd64 gcc-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [1212 B] 1396s Get:28 http://ftpmaster.internal/ubuntu noble/main amd64 gcc amd64 4:13.2.0-7ubuntu1 [5018 B] 1396s Get:29 http://ftpmaster.internal/ubuntu noble/main amd64 libstdc++-13-dev amd64 13.2.0-17ubuntu2 [2340 kB] 1396s Get:30 http://ftpmaster.internal/ubuntu noble/main amd64 g++-13-x86-64-linux-gnu amd64 13.2.0-17ubuntu2 [12.5 MB] 1396s Get:31 http://ftpmaster.internal/ubuntu noble/main amd64 g++-13 amd64 13.2.0-17ubuntu2 [14.5 kB] 1396s Get:32 http://ftpmaster.internal/ubuntu noble/main amd64 g++-x86-64-linux-gnu amd64 4:13.2.0-7ubuntu1 [964 B] 1396s Get:33 http://ftpmaster.internal/ubuntu noble/main amd64 g++ amd64 4:13.2.0-7ubuntu1 [1100 B] 1396s Get:34 http://ftpmaster.internal/ubuntu noble/main amd64 build-essential amd64 12.10ubuntu1 [4928 B] 1396s Get:35 http://ftpmaster.internal/ubuntu noble/main amd64 javascript-common all 11+nmu1 [5936 B] 1396s Get:36 http://ftpmaster.internal/ubuntu noble/main amd64 libb-hooks-op-check-perl amd64 0.22-2build2 [9452 B] 1396s Get:37 http://ftpmaster.internal/ubuntu noble/main amd64 libdynaloader-functions-perl all 0.003-3 [12.1 kB] 1396s Get:38 http://ftpmaster.internal/ubuntu noble/main amd64 libdevel-callchecker-perl amd64 0.008-2build1 [13.9 kB] 1396s Get:39 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-classify-perl amd64 0.015-2build3 [20.0 kB] 1396s Get:40 http://ftpmaster.internal/ubuntu noble/main amd64 libmodule-runtime-perl all 0.016-2 [16.4 kB] 1396s Get:41 http://ftpmaster.internal/ubuntu noble/main amd64 libtry-tiny-perl all 0.31-2 [20.8 kB] 1396s Get:42 http://ftpmaster.internal/ubuntu noble/main amd64 libmodule-implementation-perl all 0.09-2 [12.0 kB] 1396s Get:43 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 1396s Get:44 http://ftpmaster.internal/ubuntu noble/main amd64 libvariable-magic-perl amd64 0.63-1build1 [35.0 kB] 1396s Get:45 http://ftpmaster.internal/ubuntu noble/main amd64 libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 1396s Get:46 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-inspector-perl all 1.36-3 [15.4 kB] 1396s Get:47 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 1396s Get:48 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-xsaccessor-perl amd64 1.19-4build2 [33.2 kB] 1396s Get:49 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-util-perl amd64 1.102-2build1 [21.1 kB] 1396s Get:50 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-install-perl all 0.929-1 [9764 B] 1396s Get:51 http://ftpmaster.internal/ubuntu noble/main amd64 libdata-optlist-perl all 0.114-1 [9708 B] 1396s Get:52 http://ftpmaster.internal/ubuntu noble/main amd64 libexporter-tiny-perl all 1.006002-1 [36.8 kB] 1396s Get:53 http://ftpmaster.internal/ubuntu noble/main amd64 libxs-parse-keyword-perl amd64 0.39-1build1 [54.5 kB] 1396s Get:54 http://ftpmaster.internal/ubuntu noble/main amd64 libsyntax-keyword-try-perl amd64 0.29-1build1 [24.2 kB] 1396s Get:55 http://ftpmaster.internal/ubuntu noble/universe amd64 libfeature-compat-try-perl all 0.05-1 [9998 B] 1396s Get:56 http://ftpmaster.internal/ubuntu noble/universe amd64 libfile-sharedir-perl all 1.118-3 [14.0 kB] 1396s Get:57 http://ftpmaster.internal/ubuntu noble/main amd64 libio-stringy-perl all 2.111-3 [55.8 kB] 1396s Get:58 http://ftpmaster.internal/ubuntu noble/main amd64 libparams-validate-perl amd64 1.31-2build1 [53.8 kB] 1396s Get:59 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-exporter-perl all 0.990-1 [49.0 kB] 1396s Get:60 http://ftpmaster.internal/ubuntu noble/main amd64 libgetopt-long-descriptive-perl all 0.111-1 [25.5 kB] 1396s Get:61 http://ftpmaster.internal/ubuntu noble/main amd64 libimport-into-perl all 1.002005-2 [10.7 kB] 1396s Get:62 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-popper.js all 1.16.1+ds-6 [54.1 kB] 1396s Get:63 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-bootstrap4 all 4.6.1+dfsg1-4 [537 kB] 1396s Get:64 http://ftpmaster.internal/ubuntu noble/universe amd64 libjs-highlight.js all 9.18.5+dfsg1-2 [385 kB] 1396s Get:65 http://ftpmaster.internal/ubuntu noble/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 1396s Get:66 http://ftpmaster.internal/ubuntu noble/universe amd64 libmojolicious-perl all 9.35+dfsg-1 [792 kB] 1397s Get:67 http://ftpmaster.internal/ubuntu noble/main amd64 librole-tiny-perl all 2.002004-1 [16.3 kB] 1397s Get:68 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 1397s Get:69 http://ftpmaster.internal/ubuntu noble/main amd64 libmoo-perl all 2.005005-1 [47.4 kB] 1397s Get:70 http://ftpmaster.internal/ubuntu noble/universe amd64 libtype-tiny-perl all 2.004000-1 [354 kB] 1397s Get:71 http://ftpmaster.internal/ubuntu noble/universe amd64 libmoox-typetiny-perl all 0.002003-4 [5930 B] 1397s Get:72 http://ftpmaster.internal/ubuntu noble/main amd64 libpackage-stash-perl all 0.40-1 [19.5 kB] 1397s Get:73 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-identify-perl amd64 0.14-3build1 [9854 B] 1397s Get:74 http://ftpmaster.internal/ubuntu noble/main amd64 libsub-name-perl amd64 0.27-1build1 [10.7 kB] 1397s Get:75 http://ftpmaster.internal/ubuntu noble/main amd64 libnamespace-clean-perl all 0.27-2 [14.0 kB] 1397s Get:76 http://ftpmaster.internal/ubuntu noble/main amd64 libpath-tiny-perl all 0.144-1 [47.7 kB] 1397s Get:77 http://ftpmaster.internal/ubuntu noble/universe amd64 libref-util-perl all 0.204-2 [15.1 kB] 1397s Get:78 http://ftpmaster.internal/ubuntu noble/universe amd64 libsafe-isa-perl all 1.000010-1 [7684 B] 1397s Get:79 http://ftpmaster.internal/ubuntu noble/main amd64 libstrictures-perl all 2.000006-1 [16.3 kB] 1397s Get:80 http://ftpmaster.internal/ubuntu noble/universe amd64 libjson-schema-modern-perl all 0.582-1 [93.0 kB] 1397s Get:81 http://ftpmaster.internal/ubuntu noble/universe amd64 pkg-perl-autopkgtest all 0.77 [18.0 kB] 1397s Fetched 69.6 MB in 1s (120 MB/s) 1397s Selecting previously unselected package dctrl-tools. 1397s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 71420 files and directories currently installed.) 1397s Preparing to unpack .../00-dctrl-tools_2.24-3build2_amd64.deb ... 1397s Unpacking dctrl-tools (2.24-3build2) ... 1397s Selecting previously unselected package autodep8. 1397s Preparing to unpack .../01-autodep8_0.28_all.deb ... 1397s Unpacking autodep8 (0.28) ... 1397s Selecting previously unselected package libc-dev-bin. 1397s Preparing to unpack .../02-libc-dev-bin_2.39-0ubuntu6_amd64.deb ... 1397s Unpacking libc-dev-bin (2.39-0ubuntu6) ... 1397s Selecting previously unselected package linux-libc-dev:amd64. 1397s Preparing to unpack .../03-linux-libc-dev_6.8.0-11.11_amd64.deb ... 1397s Unpacking linux-libc-dev:amd64 (6.8.0-11.11) ... 1397s Selecting previously unselected package libcrypt-dev:amd64. 1397s Preparing to unpack .../04-libcrypt-dev_1%3a4.4.36-4_amd64.deb ... 1397s Unpacking libcrypt-dev:amd64 (1:4.4.36-4) ... 1398s Selecting previously unselected package rpcsvc-proto. 1398s Preparing to unpack .../05-rpcsvc-proto_1.4.2-0ubuntu6_amd64.deb ... 1398s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 1398s Selecting previously unselected package libc6-dev:amd64. 1398s Preparing to unpack .../06-libc6-dev_2.39-0ubuntu6_amd64.deb ... 1398s Unpacking libc6-dev:amd64 (2.39-0ubuntu6) ... 1398s Selecting previously unselected package libisl23:amd64. 1398s Preparing to unpack .../07-libisl23_0.26-3_amd64.deb ... 1398s Unpacking libisl23:amd64 (0.26-3) ... 1398s Selecting previously unselected package libmpc3:amd64. 1398s Preparing to unpack .../08-libmpc3_1.3.1-1_amd64.deb ... 1398s Unpacking libmpc3:amd64 (1.3.1-1) ... 1398s Selecting previously unselected package cpp-13-x86-64-linux-gnu. 1398s Preparing to unpack .../09-cpp-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 1398s Unpacking cpp-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1398s Selecting previously unselected package cpp-13. 1398s Preparing to unpack .../10-cpp-13_13.2.0-17ubuntu2_amd64.deb ... 1398s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 1398s Selecting previously unselected package cpp-x86-64-linux-gnu. 1398s Preparing to unpack .../11-cpp-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 1398s Unpacking cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1398s Selecting previously unselected package cpp. 1398s Preparing to unpack .../12-cpp_4%3a13.2.0-7ubuntu1_amd64.deb ... 1398s Unpacking cpp (4:13.2.0-7ubuntu1) ... 1398s Selecting previously unselected package libcc1-0:amd64. 1398s Preparing to unpack .../13-libcc1-0_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libcc1-0:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libgomp1:amd64. 1398s Preparing to unpack .../14-libgomp1_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libgomp1:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libitm1:amd64. 1398s Preparing to unpack .../15-libitm1_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libitm1:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libatomic1:amd64. 1398s Preparing to unpack .../16-libatomic1_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libatomic1:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libasan8:amd64. 1398s Preparing to unpack .../17-libasan8_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libasan8:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package liblsan0:amd64. 1398s Preparing to unpack .../18-liblsan0_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking liblsan0:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libtsan2:amd64. 1398s Preparing to unpack .../19-libtsan2_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libtsan2:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libubsan1:amd64. 1398s Preparing to unpack .../20-libubsan1_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libubsan1:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libhwasan0:amd64. 1398s Preparing to unpack .../21-libhwasan0_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libhwasan0:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libquadmath0:amd64. 1398s Preparing to unpack .../22-libquadmath0_14-20240303-1ubuntu1_amd64.deb ... 1398s Unpacking libquadmath0:amd64 (14-20240303-1ubuntu1) ... 1398s Selecting previously unselected package libgcc-13-dev:amd64. 1398s Preparing to unpack .../23-libgcc-13-dev_13.2.0-17ubuntu2_amd64.deb ... 1398s Unpacking libgcc-13-dev:amd64 (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package gcc-13-x86-64-linux-gnu. 1399s Preparing to unpack .../24-gcc-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 1399s Unpacking gcc-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package gcc-13. 1399s Preparing to unpack .../25-gcc-13_13.2.0-17ubuntu2_amd64.deb ... 1399s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package gcc-x86-64-linux-gnu. 1399s Preparing to unpack .../26-gcc-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 1399s Unpacking gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1399s Selecting previously unselected package gcc. 1399s Preparing to unpack .../27-gcc_4%3a13.2.0-7ubuntu1_amd64.deb ... 1399s Unpacking gcc (4:13.2.0-7ubuntu1) ... 1399s Selecting previously unselected package libstdc++-13-dev:amd64. 1399s Preparing to unpack .../28-libstdc++-13-dev_13.2.0-17ubuntu2_amd64.deb ... 1399s Unpacking libstdc++-13-dev:amd64 (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package g++-13-x86-64-linux-gnu. 1399s Preparing to unpack .../29-g++-13-x86-64-linux-gnu_13.2.0-17ubuntu2_amd64.deb ... 1399s Unpacking g++-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package g++-13. 1399s Preparing to unpack .../30-g++-13_13.2.0-17ubuntu2_amd64.deb ... 1399s Unpacking g++-13 (13.2.0-17ubuntu2) ... 1399s Selecting previously unselected package g++-x86-64-linux-gnu. 1399s Preparing to unpack .../31-g++-x86-64-linux-gnu_4%3a13.2.0-7ubuntu1_amd64.deb ... 1399s Unpacking g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1400s Selecting previously unselected package g++. 1400s Preparing to unpack .../32-g++_4%3a13.2.0-7ubuntu1_amd64.deb ... 1400s Unpacking g++ (4:13.2.0-7ubuntu1) ... 1400s Selecting previously unselected package build-essential. 1400s Preparing to unpack .../33-build-essential_12.10ubuntu1_amd64.deb ... 1400s Unpacking build-essential (12.10ubuntu1) ... 1400s Selecting previously unselected package javascript-common. 1400s Preparing to unpack .../34-javascript-common_11+nmu1_all.deb ... 1400s Unpacking javascript-common (11+nmu1) ... 1400s Selecting previously unselected package libb-hooks-op-check-perl:amd64. 1400s Preparing to unpack .../35-libb-hooks-op-check-perl_0.22-2build2_amd64.deb ... 1400s Unpacking libb-hooks-op-check-perl:amd64 (0.22-2build2) ... 1400s Selecting previously unselected package libdynaloader-functions-perl. 1400s Preparing to unpack .../36-libdynaloader-functions-perl_0.003-3_all.deb ... 1400s Unpacking libdynaloader-functions-perl (0.003-3) ... 1400s Selecting previously unselected package libdevel-callchecker-perl:amd64. 1400s Preparing to unpack .../37-libdevel-callchecker-perl_0.008-2build1_amd64.deb ... 1400s Unpacking libdevel-callchecker-perl:amd64 (0.008-2build1) ... 1400s Selecting previously unselected package libparams-classify-perl:amd64. 1400s Preparing to unpack .../38-libparams-classify-perl_0.015-2build3_amd64.deb ... 1400s Unpacking libparams-classify-perl:amd64 (0.015-2build3) ... 1400s Selecting previously unselected package libmodule-runtime-perl. 1400s Preparing to unpack .../39-libmodule-runtime-perl_0.016-2_all.deb ... 1400s Unpacking libmodule-runtime-perl (0.016-2) ... 1400s Selecting previously unselected package libtry-tiny-perl. 1400s Preparing to unpack .../40-libtry-tiny-perl_0.31-2_all.deb ... 1400s Unpacking libtry-tiny-perl (0.31-2) ... 1400s Selecting previously unselected package libmodule-implementation-perl. 1400s Preparing to unpack .../41-libmodule-implementation-perl_0.09-2_all.deb ... 1400s Unpacking libmodule-implementation-perl (0.09-2) ... 1400s Selecting previously unselected package libsub-exporter-progressive-perl. 1400s Preparing to unpack .../42-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 1400s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 1400s Selecting previously unselected package libvariable-magic-perl. 1400s Preparing to unpack .../43-libvariable-magic-perl_0.63-1build1_amd64.deb ... 1400s Unpacking libvariable-magic-perl (0.63-1build1) ... 1400s Selecting previously unselected package libb-hooks-endofscope-perl. 1400s Preparing to unpack .../44-libb-hooks-endofscope-perl_0.28-1_all.deb ... 1400s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 1400s Selecting previously unselected package libclass-inspector-perl. 1400s Preparing to unpack .../45-libclass-inspector-perl_1.36-3_all.deb ... 1400s Unpacking libclass-inspector-perl (1.36-3) ... 1400s Selecting previously unselected package libclass-method-modifiers-perl. 1400s Preparing to unpack .../46-libclass-method-modifiers-perl_2.15-1_all.deb ... 1400s Unpacking libclass-method-modifiers-perl (2.15-1) ... 1400s Selecting previously unselected package libclass-xsaccessor-perl. 1400s Preparing to unpack .../47-libclass-xsaccessor-perl_1.19-4build2_amd64.deb ... 1400s Unpacking libclass-xsaccessor-perl (1.19-4build2) ... 1400s Selecting previously unselected package libparams-util-perl. 1400s Preparing to unpack .../48-libparams-util-perl_1.102-2build1_amd64.deb ... 1400s Unpacking libparams-util-perl (1.102-2build1) ... 1400s Selecting previously unselected package libsub-install-perl. 1400s Preparing to unpack .../49-libsub-install-perl_0.929-1_all.deb ... 1400s Unpacking libsub-install-perl (0.929-1) ... 1400s Selecting previously unselected package libdata-optlist-perl. 1400s Preparing to unpack .../50-libdata-optlist-perl_0.114-1_all.deb ... 1400s Unpacking libdata-optlist-perl (0.114-1) ... 1400s Selecting previously unselected package libexporter-tiny-perl. 1400s Preparing to unpack .../51-libexporter-tiny-perl_1.006002-1_all.deb ... 1400s Unpacking libexporter-tiny-perl (1.006002-1) ... 1400s Selecting previously unselected package libxs-parse-keyword-perl. 1400s Preparing to unpack .../52-libxs-parse-keyword-perl_0.39-1build1_amd64.deb ... 1400s Unpacking libxs-parse-keyword-perl (0.39-1build1) ... 1400s Selecting previously unselected package libsyntax-keyword-try-perl. 1400s Preparing to unpack .../53-libsyntax-keyword-try-perl_0.29-1build1_amd64.deb ... 1400s Unpacking libsyntax-keyword-try-perl (0.29-1build1) ... 1400s Selecting previously unselected package libfeature-compat-try-perl. 1400s Preparing to unpack .../54-libfeature-compat-try-perl_0.05-1_all.deb ... 1400s Unpacking libfeature-compat-try-perl (0.05-1) ... 1400s Selecting previously unselected package libfile-sharedir-perl. 1400s Preparing to unpack .../55-libfile-sharedir-perl_1.118-3_all.deb ... 1400s Unpacking libfile-sharedir-perl (1.118-3) ... 1400s Selecting previously unselected package libio-stringy-perl. 1400s Preparing to unpack .../56-libio-stringy-perl_2.111-3_all.deb ... 1400s Unpacking libio-stringy-perl (2.111-3) ... 1400s Selecting previously unselected package libparams-validate-perl:amd64. 1400s Preparing to unpack .../57-libparams-validate-perl_1.31-2build1_amd64.deb ... 1400s Unpacking libparams-validate-perl:amd64 (1.31-2build1) ... 1400s Selecting previously unselected package libsub-exporter-perl. 1400s Preparing to unpack .../58-libsub-exporter-perl_0.990-1_all.deb ... 1400s Unpacking libsub-exporter-perl (0.990-1) ... 1400s Selecting previously unselected package libgetopt-long-descriptive-perl. 1400s Preparing to unpack .../59-libgetopt-long-descriptive-perl_0.111-1_all.deb ... 1400s Unpacking libgetopt-long-descriptive-perl (0.111-1) ... 1400s Selecting previously unselected package libimport-into-perl. 1400s Preparing to unpack .../60-libimport-into-perl_1.002005-2_all.deb ... 1400s Unpacking libimport-into-perl (1.002005-2) ... 1400s Selecting previously unselected package libjs-popper.js. 1400s Preparing to unpack .../61-libjs-popper.js_1.16.1+ds-6_all.deb ... 1400s Unpacking libjs-popper.js (1.16.1+ds-6) ... 1400s Selecting previously unselected package libjs-bootstrap4. 1401s Preparing to unpack .../62-libjs-bootstrap4_4.6.1+dfsg1-4_all.deb ... 1401s Unpacking libjs-bootstrap4 (4.6.1+dfsg1-4) ... 1401s Selecting previously unselected package libjs-highlight.js. 1401s Preparing to unpack .../63-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ... 1401s Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ... 1401s Selecting previously unselected package libjs-jquery. 1401s Preparing to unpack .../64-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 1401s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1401s Selecting previously unselected package libmojolicious-perl. 1401s Preparing to unpack .../65-libmojolicious-perl_9.35+dfsg-1_all.deb ... 1401s Unpacking libmojolicious-perl (9.35+dfsg-1) ... 1401s Selecting previously unselected package librole-tiny-perl. 1401s Preparing to unpack .../66-librole-tiny-perl_2.002004-1_all.deb ... 1401s Unpacking librole-tiny-perl (2.002004-1) ... 1401s Selecting previously unselected package libsub-quote-perl. 1401s Preparing to unpack .../67-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 1401s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 1401s Selecting previously unselected package libmoo-perl. 1401s Preparing to unpack .../68-libmoo-perl_2.005005-1_all.deb ... 1401s Unpacking libmoo-perl (2.005005-1) ... 1401s Selecting previously unselected package libtype-tiny-perl. 1401s Preparing to unpack .../69-libtype-tiny-perl_2.004000-1_all.deb ... 1401s Unpacking libtype-tiny-perl (2.004000-1) ... 1401s Selecting previously unselected package libmoox-typetiny-perl. 1401s Preparing to unpack .../70-libmoox-typetiny-perl_0.002003-4_all.deb ... 1401s Unpacking libmoox-typetiny-perl (0.002003-4) ... 1401s Selecting previously unselected package libpackage-stash-perl. 1401s Preparing to unpack .../71-libpackage-stash-perl_0.40-1_all.deb ... 1401s Unpacking libpackage-stash-perl (0.40-1) ... 1401s Selecting previously unselected package libsub-identify-perl. 1401s Preparing to unpack .../72-libsub-identify-perl_0.14-3build1_amd64.deb ... 1401s Unpacking libsub-identify-perl (0.14-3build1) ... 1401s Selecting previously unselected package libsub-name-perl:amd64. 1401s Preparing to unpack .../73-libsub-name-perl_0.27-1build1_amd64.deb ... 1401s Unpacking libsub-name-perl:amd64 (0.27-1build1) ... 1401s Selecting previously unselected package libnamespace-clean-perl. 1401s Preparing to unpack .../74-libnamespace-clean-perl_0.27-2_all.deb ... 1401s Unpacking libnamespace-clean-perl (0.27-2) ... 1401s Selecting previously unselected package libpath-tiny-perl. 1401s Preparing to unpack .../75-libpath-tiny-perl_0.144-1_all.deb ... 1401s Unpacking libpath-tiny-perl (0.144-1) ... 1401s Selecting previously unselected package libref-util-perl. 1401s Preparing to unpack .../76-libref-util-perl_0.204-2_all.deb ... 1401s Unpacking libref-util-perl (0.204-2) ... 1401s Selecting previously unselected package libsafe-isa-perl. 1401s Preparing to unpack .../77-libsafe-isa-perl_1.000010-1_all.deb ... 1401s Unpacking libsafe-isa-perl (1.000010-1) ... 1401s Selecting previously unselected package libstrictures-perl. 1401s Preparing to unpack .../78-libstrictures-perl_2.000006-1_all.deb ... 1401s Unpacking libstrictures-perl (2.000006-1) ... 1401s Selecting previously unselected package libjson-schema-modern-perl. 1401s Preparing to unpack .../79-libjson-schema-modern-perl_0.582-1_all.deb ... 1401s Unpacking libjson-schema-modern-perl (0.582-1) ... 1401s Selecting previously unselected package pkg-perl-autopkgtest. 1401s Preparing to unpack .../80-pkg-perl-autopkgtest_0.77_all.deb ... 1401s Unpacking pkg-perl-autopkgtest (0.77) ... 1401s Setting up javascript-common (11+nmu1) ... 1401s Setting up libsafe-isa-perl (1.000010-1) ... 1401s Setting up libclass-inspector-perl (1.36-3) ... 1401s Setting up libdynaloader-functions-perl (0.003-3) ... 1401s Setting up libclass-method-modifiers-perl (2.15-1) ... 1401s Setting up libjs-popper.js (1.16.1+ds-6) ... 1401s Setting up libsub-identify-perl (0.14-3build1) ... 1401s Setting up libio-stringy-perl (2.111-3) ... 1401s Setting up libtry-tiny-perl (0.31-2) ... 1401s Setting up linux-libc-dev:amd64 (6.8.0-11.11) ... 1401s Setting up libgomp1:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libsub-install-perl (0.929-1) ... 1401s Setting up libxs-parse-keyword-perl (0.39-1build1) ... 1401s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 1401s Setting up libref-util-perl (0.204-2) ... 1401s Setting up libquadmath0:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libmpc3:amd64 (1.3.1-1) ... 1401s Setting up libatomic1:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libvariable-magic-perl (0.63-1build1) ... 1401s Setting up libb-hooks-op-check-perl:amd64 (0.22-2build2) ... 1401s Setting up libparams-util-perl (1.102-2build1) ... 1401s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 1401s Setting up libubsan1:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libsub-name-perl:amd64 (0.27-1build1) ... 1401s Setting up libsyntax-keyword-try-perl (0.29-1build1) ... 1401s Setting up libjs-highlight.js (9.18.5+dfsg1-2) ... 1401s Setting up libhwasan0:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libcrypt-dev:amd64 (1:4.4.36-4) ... 1401s Setting up libpath-tiny-perl (0.144-1) ... 1401s Setting up libasan8:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up librole-tiny-perl (2.002004-1) ... 1401s Setting up libfile-sharedir-perl (1.118-3) ... 1401s Setting up libstrictures-perl (2.000006-1) ... 1401s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 1401s Setting up libclass-xsaccessor-perl (1.19-4build2) ... 1401s Setting up libjs-bootstrap4 (4.6.1+dfsg1-4) ... 1401s Setting up libtsan2:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 1401s Setting up libexporter-tiny-perl (1.006002-1) ... 1401s Setting up libisl23:amd64 (0.26-3) ... 1401s Setting up libc-dev-bin (2.39-0ubuntu6) ... 1401s Setting up libcc1-0:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up liblsan0:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up dctrl-tools (2.24-3build2) ... 1401s Setting up libitm1:amd64 (14-20240303-1ubuntu1) ... 1401s Setting up autodep8 (0.28) ... 1401s Setting up libfeature-compat-try-perl (0.05-1) ... 1401s Setting up cpp-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1401s Setting up libmojolicious-perl (9.35+dfsg-1) ... 1401s Setting up libtype-tiny-perl (2.004000-1) ... 1401s Setting up libdevel-callchecker-perl:amd64 (0.008-2build1) ... 1401s Setting up libdata-optlist-perl (0.114-1) ... 1401s Setting up pkg-perl-autopkgtest (0.77) ... 1401s Setting up libgcc-13-dev:amd64 (13.2.0-17ubuntu2) ... 1401s Setting up libc6-dev:amd64 (2.39-0ubuntu6) ... 1401s Setting up libstdc++-13-dev:amd64 (13.2.0-17ubuntu2) ... 1401s Setting up libsub-exporter-perl (0.990-1) ... 1401s Setting up cpp-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1401s Setting up cpp-13 (13.2.0-17ubuntu2) ... 1401s Setting up gcc-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1401s Setting up libparams-classify-perl:amd64 (0.015-2build3) ... 1401s Setting up libmodule-runtime-perl (0.016-2) ... 1401s Setting up gcc-13 (13.2.0-17ubuntu2) ... 1401s Setting up cpp (4:13.2.0-7ubuntu1) ... 1401s Setting up g++-13-x86-64-linux-gnu (13.2.0-17ubuntu2) ... 1401s Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1401s Setting up libmodule-implementation-perl (0.09-2) ... 1401s Setting up libpackage-stash-perl (0.40-1) ... 1401s Setting up libimport-into-perl (1.002005-2) ... 1401s Setting up libmoo-perl (2.005005-1) ... 1401s Setting up gcc (4:13.2.0-7ubuntu1) ... 1401s Setting up g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ... 1401s Setting up libmoox-typetiny-perl (0.002003-4) ... 1401s Setting up libparams-validate-perl:amd64 (1.31-2build1) ... 1401s Setting up libb-hooks-endofscope-perl (0.28-1) ... 1401s Setting up g++-13 (13.2.0-17ubuntu2) ... 1401s Setting up libnamespace-clean-perl (0.27-2) ... 1401s Setting up libgetopt-long-descriptive-perl (0.111-1) ... 1401s Setting up g++ (4:13.2.0-7ubuntu1) ... 1401s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 1401s Setting up build-essential (12.10ubuntu1) ... 1401s Setting up libjson-schema-modern-perl (0.582-1) ... 1401s Processing triggers for libc-bin (2.39-0ubuntu6) ... 1401s Processing triggers for man-db (2.12.0-3) ... 1410s Reading package lists... 1411s Building dependency tree... 1411s Reading state information... 1411s Starting pkgProblemResolver with broken count: 0 1411s Starting 2 pkgProblemResolver with broken count: 0 1411s Done 1411s The following NEW packages will be installed: 1411s autopkgtest-satdep 1412s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1412s Need to get 0 B/696 B of archives. 1412s After this operation, 0 B of additional disk space will be used. 1412s Get:1 /tmp/autopkgtest.YgRYGQ/4-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [696 B] 1412s Selecting previously unselected package autopkgtest-satdep. 1412s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 75859 files and directories currently installed.) 1412s Preparing to unpack .../4-autopkgtest-satdep.deb ... 1412s Unpacking autopkgtest-satdep (0) ... 1412s Setting up autopkgtest-satdep (0) ... 1414s (Reading database ... 75859 files and directories currently installed.) 1414s Removing autopkgtest-satdep (0) ... 1415s autopkgtest [12:00:31]: test autodep8-perl: /usr/share/pkg-perl-autopkgtest/runner runtime-deps 1415s autopkgtest [12:00:31]: test autodep8-perl: [----------------------- 1416s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 1416s 1..4 1416s ok 1 - /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 exited successfully 1416s ok 2 - /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 produced no (non-whitelisted) output 1416s ok 3 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 exited successfully 1416s ok 4 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"JSON::Schema::Modern" -e 1 2>&1 produced no (non-whitelisted) output 1416s ok 1416s All tests successful. 1416s Files=1, Tests=4, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.59 cusr 0.09 csys = 0.69 CPU) 1416s Result: PASS 1416s autopkgtest [12:00:32]: test autodep8-perl: -----------------------] 1416s autopkgtest [12:00:32]: test autodep8-perl: - - - - - - - - - - results - - - - - - - - - - 1416s autodep8-perl PASS (superficial) 1416s autopkgtest [12:00:32]: test autodep8-perl-recommends: preparing testbed 1419s Note, using file '/tmp/autopkgtest.YgRYGQ/5-autopkgtest-satdep.dsc' to get the build dependencies 1419s Reading package lists... 1419s Building dependency tree... 1419s Reading state information... 1419s Starting pkgProblemResolver with broken count: 0 1419s Starting 2 pkgProblemResolver with broken count: 0 1419s Done 1420s The following NEW packages will be installed: 1420s libalgorithm-c3-perl libclass-c3-perl libclass-data-inheritable-perl 1420s libclass-singleton-perl libdata-validate-domain-perl 1420s libdatetime-format-rfc3339-perl libdatetime-locale-perl libdatetime-perl 1420s libdatetime-timezone-perl libdevel-stacktrace-perl libemail-address-xs-perl 1420s libeval-closure-perl libexception-class-perl libmro-compat-perl 1420s libnamespace-autoclean-perl libnet-domain-tld-perl libnet-idn-encode-perl 1420s libparams-validationcompiler-perl libspecio-perl libtime-moment-perl 1420s libxstring-perl 1420s 0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded. 1420s Need to get 3726 kB of archives. 1420s After this operation, 29.1 MB of additional disk space will be used. 1420s Get:1 http://ftpmaster.internal/ubuntu noble/universe amd64 libalgorithm-c3-perl all 0.11-2 [10.2 kB] 1420s Get:2 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-c3-perl all 0.35-2 [18.4 kB] 1420s Get:3 http://ftpmaster.internal/ubuntu noble/main amd64 libclass-data-inheritable-perl all 0.08-3 [8084 B] 1420s Get:4 http://ftpmaster.internal/ubuntu noble/universe amd64 libclass-singleton-perl all 1.6-2 [11.5 kB] 1420s Get:5 http://ftpmaster.internal/ubuntu noble/main amd64 libnet-domain-tld-perl all 1.75-3 [29.4 kB] 1420s Get:6 http://ftpmaster.internal/ubuntu noble/main amd64 libdata-validate-domain-perl all 0.10-1.1 [9992 B] 1420s Get:7 http://ftpmaster.internal/ubuntu noble/universe amd64 libnamespace-autoclean-perl all 0.29-2 [11.7 kB] 1420s Get:8 http://ftpmaster.internal/ubuntu noble/universe amd64 libeval-closure-perl all 0.14-3 [10.1 kB] 1420s Get:9 http://ftpmaster.internal/ubuntu noble/main amd64 libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 1420s Get:10 http://ftpmaster.internal/ubuntu noble/main amd64 libexception-class-perl all 1.45-1 [28.6 kB] 1420s Get:11 http://ftpmaster.internal/ubuntu noble/universe amd64 libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 1420s Get:12 http://ftpmaster.internal/ubuntu noble/universe amd64 libmro-compat-perl all 0.15-2 [10.1 kB] 1420s Get:13 http://ftpmaster.internal/ubuntu noble/universe amd64 libxstring-perl amd64 0.005-2build1 [7758 B] 1420s Get:14 http://ftpmaster.internal/ubuntu noble/universe amd64 libspecio-perl all 0.48-1 [137 kB] 1420s Get:15 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-locale-perl all 1:1.37-1 [2833 kB] 1420s Get:16 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-timezone-perl all 1:2.62-1+2024a [262 kB] 1420s Get:17 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-perl amd64 2:1.65-1 [95.5 kB] 1420s Get:18 http://ftpmaster.internal/ubuntu noble/universe amd64 libdatetime-format-rfc3339-perl all 1.8.0-1 [8156 B] 1420s Get:19 http://ftpmaster.internal/ubuntu noble/main amd64 libemail-address-xs-perl amd64 1.05-1build2 [29.1 kB] 1420s Get:20 http://ftpmaster.internal/ubuntu noble/universe amd64 libnet-idn-encode-perl amd64 2.500-3build1 [84.0 kB] 1420s Get:21 http://ftpmaster.internal/ubuntu noble/main amd64 libtime-moment-perl amd64 0.44-2build2 [71.0 kB] 1420s Fetched 3726 kB in 0s (58.1 MB/s) 1420s Selecting previously unselected package libalgorithm-c3-perl. 1420s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 75859 files and directories currently installed.) 1420s Preparing to unpack .../00-libalgorithm-c3-perl_0.11-2_all.deb ... 1420s Unpacking libalgorithm-c3-perl (0.11-2) ... 1420s Selecting previously unselected package libclass-c3-perl. 1420s Preparing to unpack .../01-libclass-c3-perl_0.35-2_all.deb ... 1420s Unpacking libclass-c3-perl (0.35-2) ... 1420s Selecting previously unselected package libclass-data-inheritable-perl. 1420s Preparing to unpack .../02-libclass-data-inheritable-perl_0.08-3_all.deb ... 1420s Unpacking libclass-data-inheritable-perl (0.08-3) ... 1420s Selecting previously unselected package libclass-singleton-perl. 1420s Preparing to unpack .../03-libclass-singleton-perl_1.6-2_all.deb ... 1420s Unpacking libclass-singleton-perl (1.6-2) ... 1420s Selecting previously unselected package libnet-domain-tld-perl. 1420s Preparing to unpack .../04-libnet-domain-tld-perl_1.75-3_all.deb ... 1420s Unpacking libnet-domain-tld-perl (1.75-3) ... 1420s Selecting previously unselected package libdata-validate-domain-perl. 1420s Preparing to unpack .../05-libdata-validate-domain-perl_0.10-1.1_all.deb ... 1420s Unpacking libdata-validate-domain-perl (0.10-1.1) ... 1420s Selecting previously unselected package libnamespace-autoclean-perl. 1420s Preparing to unpack .../06-libnamespace-autoclean-perl_0.29-2_all.deb ... 1420s Unpacking libnamespace-autoclean-perl (0.29-2) ... 1420s Selecting previously unselected package libeval-closure-perl. 1420s Preparing to unpack .../07-libeval-closure-perl_0.14-3_all.deb ... 1420s Unpacking libeval-closure-perl (0.14-3) ... 1420s Selecting previously unselected package libdevel-stacktrace-perl. 1420s Preparing to unpack .../08-libdevel-stacktrace-perl_2.0500-1_all.deb ... 1420s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 1420s Selecting previously unselected package libexception-class-perl. 1420s Preparing to unpack .../09-libexception-class-perl_1.45-1_all.deb ... 1420s Unpacking libexception-class-perl (1.45-1) ... 1420s Selecting previously unselected package libparams-validationcompiler-perl. 1420s Preparing to unpack .../10-libparams-validationcompiler-perl_0.31-1_all.deb ... 1420s Unpacking libparams-validationcompiler-perl (0.31-1) ... 1420s Selecting previously unselected package libmro-compat-perl. 1420s Preparing to unpack .../11-libmro-compat-perl_0.15-2_all.deb ... 1420s Unpacking libmro-compat-perl (0.15-2) ... 1420s Selecting previously unselected package libxstring-perl:amd64. 1420s Preparing to unpack .../12-libxstring-perl_0.005-2build1_amd64.deb ... 1420s Unpacking libxstring-perl:amd64 (0.005-2build1) ... 1421s Selecting previously unselected package libspecio-perl. 1421s Preparing to unpack .../13-libspecio-perl_0.48-1_all.deb ... 1421s Unpacking libspecio-perl (0.48-1) ... 1421s Selecting previously unselected package libdatetime-locale-perl. 1421s Preparing to unpack .../14-libdatetime-locale-perl_1%3a1.37-1_all.deb ... 1421s Unpacking libdatetime-locale-perl (1:1.37-1) ... 1421s Selecting previously unselected package libdatetime-timezone-perl. 1421s Preparing to unpack .../15-libdatetime-timezone-perl_1%3a2.62-1+2024a_all.deb ... 1421s Unpacking libdatetime-timezone-perl (1:2.62-1+2024a) ... 1421s Selecting previously unselected package libdatetime-perl. 1421s Preparing to unpack .../16-libdatetime-perl_2%3a1.65-1_amd64.deb ... 1421s Unpacking libdatetime-perl (2:1.65-1) ... 1421s Selecting previously unselected package libdatetime-format-rfc3339-perl. 1421s Preparing to unpack .../17-libdatetime-format-rfc3339-perl_1.8.0-1_all.deb ... 1421s Unpacking libdatetime-format-rfc3339-perl (1.8.0-1) ... 1421s Selecting previously unselected package libemail-address-xs-perl. 1421s Preparing to unpack .../18-libemail-address-xs-perl_1.05-1build2_amd64.deb ... 1421s Unpacking libemail-address-xs-perl (1.05-1build2) ... 1421s Selecting previously unselected package libnet-idn-encode-perl. 1421s Preparing to unpack .../19-libnet-idn-encode-perl_2.500-3build1_amd64.deb ... 1421s Unpacking libnet-idn-encode-perl (2.500-3build1) ... 1421s Selecting previously unselected package libtime-moment-perl. 1421s Preparing to unpack .../20-libtime-moment-perl_0.44-2build2_amd64.deb ... 1421s Unpacking libtime-moment-perl (0.44-2build2) ... 1421s Setting up libnet-idn-encode-perl (2.500-3build1) ... 1421s Setting up libclass-singleton-perl (1.6-2) ... 1421s Setting up libtime-moment-perl (0.44-2build2) ... 1421s Setting up libxstring-perl:amd64 (0.005-2build1) ... 1421s Setting up libclass-data-inheritable-perl (0.08-3) ... 1421s Setting up libalgorithm-c3-perl (0.11-2) ... 1421s Setting up libnet-domain-tld-perl (1.75-3) ... 1421s Setting up libdata-validate-domain-perl (0.10-1.1) ... 1421s Setting up libdevel-stacktrace-perl (2.0500-1) ... 1421s Setting up libnamespace-autoclean-perl (0.29-2) ... 1421s Setting up libeval-closure-perl (0.14-3) ... 1421s Setting up libemail-address-xs-perl (1.05-1build2) ... 1421s Setting up libexception-class-perl (1.45-1) ... 1421s Setting up libclass-c3-perl (0.35-2) ... 1421s Setting up libmro-compat-perl (0.15-2) ... 1421s Setting up libparams-validationcompiler-perl (0.31-1) ... 1421s Setting up libspecio-perl (0.48-1) ... 1421s Setting up libdatetime-locale-perl (1:1.37-1) ... 1421s Setting up libdatetime-timezone-perl (1:2.62-1+2024a) ... 1421s Setting up libdatetime-perl (2:1.65-1) ... 1421s Setting up libdatetime-format-rfc3339-perl (1.8.0-1) ... 1421s Processing triggers for man-db (2.12.0-3) ... 1425s Reading package lists... 1425s Building dependency tree... 1425s Reading state information... 1425s Starting pkgProblemResolver with broken count: 0 1425s Starting 2 pkgProblemResolver with broken count: 0 1425s Done 1426s The following NEW packages will be installed: 1426s autopkgtest-satdep 1426s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 1426s Need to get 0 B/696 B of archives. 1426s After this operation, 0 B of additional disk space will be used. 1426s Get:1 /tmp/autopkgtest.YgRYGQ/6-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [696 B] 1426s Selecting previously unselected package autopkgtest-satdep. 1426s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79005 files and directories currently installed.) 1426s Preparing to unpack .../6-autopkgtest-satdep.deb ... 1426s Unpacking autopkgtest-satdep (0) ... 1426s Setting up autopkgtest-satdep (0) ... 1428s (Reading database ... 79005 files and directories currently installed.) 1428s Removing autopkgtest-satdep (0) ... 1428s autopkgtest [12:00:44]: test autodep8-perl-recommends: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends 1428s autopkgtest [12:00:44]: test autodep8-perl-recommends: [----------------------- 1430s /usr/share/pkg-perl-autopkgtest/runtime-deps-and-recommends.d/syntax.t .. 1430s 1..4 1430s ok 1 - Package libjson-schema-modern-perl is known to dpkg 1430s ok 2 - Got status information for package libjson-schema-modern-perl 1430s ok 3 - Got file list for package libjson-schema-modern-perl 1430s # Subtest: all modules in libjson-schema-modern-perl pass the syntax check 1430s 1..15 1430s ok 1 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Annotation.pm exited successfully 1430s ok 2 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Document.pm exited successfully 1430s ok 3 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Error.pm exited successfully 1430s ok 4 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Result.pm exited successfully 1430s ok 5 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Utilities.pm exited successfully 1430s ok 6 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Applicator.pm exited successfully 1430s ok 7 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Content.pm exited successfully 1430s ok 8 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Core.pm exited successfully 1430s ok 9 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm exited successfully 1430s ok 10 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm exited successfully 1430s ok 11 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm exited successfully 1430s ok 12 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Unevaluated.pm exited successfully 1430s ok 13 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary/Validation.pm exited successfully 1430s ok 14 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern/Vocabulary.pm exited successfully 1430s ok 15 - /usr/bin/perl -wc /usr/share/perl5/JSON/Schema/Modern.pm exited successfully 1430s ok 4 - all modules in libjson-schema-modern-perl pass the syntax check 1430s ok 1430s All tests successful. 1430s Files=1, Tests=4, 2 wallclock secs ( 0.01 usr 0.01 sys + 1.66 cusr 0.27 csys = 1.95 CPU) 1430s Result: PASS 1430s autopkgtest [12:00:46]: test autodep8-perl-recommends: -----------------------] 1431s autodep8-perl-recommends PASS (superficial) 1431s autopkgtest [12:00:47]: test autodep8-perl-recommends: - - - - - - - - - - results - - - - - - - - - - 1431s autopkgtest [12:00:47]: @@@@@@@@@@@@@@@@@@@@ summary 1431s autodep8-perl-build-deps PASS 1431s autodep8-perl PASS (superficial) 1431s autodep8-perl-recommends PASS (superficial) 1441s Creating nova instance adt-noble-i386-libjson-schema-modern-perl-20240324-110353-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-amd64-server-20240324.img (UUID 4e56ccec-954f-4884-8b9c-3e1a29e50308)... 1441s Creating nova instance adt-noble-i386-libjson-schema-modern-perl-20240324-110353-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-amd64-server-20240324.img (UUID 4e56ccec-954f-4884-8b9c-3e1a29e50308)...